Skip to content

Commit

Permalink
Merge pull request #993 from mammaadDeveloper/next-generation-ts
Browse files Browse the repository at this point in the history
Next generation ts
  • Loading branch information
BaseMax authored Feb 10, 2025
2 parents 7ac2323 + 6481d97 commit 028d742
Show file tree
Hide file tree
Showing 13 changed files with 366 additions and 53 deletions.
57 changes: 51 additions & 6 deletions src/runtime/element/area.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { RuntimeElementAttributeValue } from './../element_attribute_value';
import { languages } from './../data/element/language';
import { LanguageID } from "../../common/language/language";
import { RuntimeElement } from "../element";
import { RuntimeElementAttribute } from "../element_attribute";
import { RuntimeElementAttributeType } from "../element_attribute_type";
import { RuntimeElementAttributeValue } from "../element_attribute_value";

export class RuntimeElementArea extends RuntimeElement {
constructor() {
super(true, "area");
Expand All @@ -14,7 +13,7 @@ export class RuntimeElementArea extends RuntimeElement {
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.AnyNoEmpty, "alt")
.addText(LanguageID.LanguagePersian, "متن جایگزین")
.addText(LanguageID.LanguageEnglish, "alternative text")
.addText(LanguageID.LanguageEnglish, "alt")
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.AnyNoEmpty, "download")
Expand All @@ -23,15 +22,14 @@ export class RuntimeElementArea extends RuntimeElement {
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.Coords, "coords")
.addText(LanguageID.LanguagePersian, "جایگاه")
.addText(LanguageID.LanguageEnglish, "coordinates")
.addText(LanguageID.LanguagePersian, "مختصات")
.addText(LanguageID.LanguageEnglish, "coords")
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.Url, "href")
.addText(LanguageID.LanguagePersian, "منبع")
.addText(LanguageID.LanguageEnglish, "source")
);
// Todo: Fix this
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, "hreflang")
.addText(LanguageID.LanguagePersian, "زبان")
Expand All @@ -44,5 +42,52 @@ export class RuntimeElementArea extends RuntimeElement {
)
)
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.CSSMedia, 'media')
.addText(LanguageID.LanguageEnglish, 'media')
.addText(LanguageID.LanguagePersian, 'رسانه')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'referrerpolicy')
.addText(LanguageID.LanguageEnglish, 'referrerpolicy')
.addText(LanguageID.LanguagePersian, 'سیاست ارجاع')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'rel')
.addText(LanguageID.LanguageEnglish, 'rel')
.addText(LanguageID. LanguagePersian, 'رابطه')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'shape')
.addText(LanguageID.LanguageEnglish, 'shape')
.addText(LanguageID.LanguagePersian, 'شکل')
.addReservedValues([
new RuntimeElementAttributeValue('default')
.addText(LanguageID.LanguageEnglish, 'default')
.addText(LanguageID.LanguagePersian, 'پیشفرض'),
new RuntimeElementAttributeValue('rect')
.addText(LanguageID.LanguageEnglish, 'rect')
.addText(LanguageID.LanguagePersian, 'مربع'),
new RuntimeElementAttributeValue('circle')
.addText(LanguageID.LanguageEnglish, 'circle')
.addText(LanguageID.LanguagePersian, 'دایره'),
new RuntimeElementAttributeValue('poly')
.addText(LanguageID.LanguageEnglish, 'poly')
.addText(LanguageID.LanguagePersian, 'چندگونه')
])
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'target')
.addText(LanguageID.LanguageEnglish, 'target')
.addText(LanguageID.LanguagePersian, 'هدف')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'type')
.addText(LanguageID.LanguageEnglish, 'type')
.addText(LanguageID.LanguagePersian, 'نوع')
.addReservedValues([

])
);
}
}
2 changes: 1 addition & 1 deletion src/runtime/element/canvas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { RuntimeElement } from "./../element";
import { RuntimeElementAttribute } from "./../element_attribute";
import { RuntimeElementAttributeType } from "./../element_attribute_type";

export class RuntimeElementCanvad extends RuntimeElement{
export class RuntimeElementCanvas extends RuntimeElement{
constructor(){
super(true, 'canvas');
this.addText(LanguageID.LanguageEnglish, 'canvas');
Expand Down
80 changes: 79 additions & 1 deletion src/runtime/element/form.ts
Original file line number Diff line number Diff line change
@@ -1 +1,79 @@
// ToDo: Form tag
import { LanguageID } from '../../common/language/language';
import { RuntimeElementAttribute } from '../element_attribute';
import { RuntimeElementAttributeType } from '../element_attribute_type';
import { RuntimeElementAttributeValue } from '../element_attribute_value';
import { RuntimeElement } from './../element';
export class RuntimeElementForm extends RuntimeElement{
constructor(){
super(true, 'form');
this.addText(LanguageID.LanguageEnglish, 'form');
this.addText(LanguageID.LanguagePersian, 'فرم');
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.Url, 'aceept-charset')
.addText(LanguageID.LanguageEnglish, 'accept charset')
.addText(LanguageID.LanguagePersian, 'چارست')
.addReservedValues([
new RuntimeElementAttributeValue('UTF-8')
.addAllText('utf-8')
.addAllText('utf 8')
.addAllText('utf'),
new RuntimeElementAttributeValue('8859-1')
.addAllText('8859-1')
.addAllText('8859')
.addAllText('ISO-8859-1'),
new RuntimeElementAttributeValue('ANSI').addAllText('ansi'),
new RuntimeElementAttributeValue('ASCII').addAllText('ascii'),
new RuntimeElementAttributeValue('Number').addAllText('number'),
new RuntimeElementAttributeValue('windows-1252')
.addAllText('windows-1252')
.addAllText('windows 1252')
.addAllText('windows')
])
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.Url, 'action')
.addText(LanguageID.LanguageEnglish, 'action')
.addText(LanguageID.LanguagePersian, 'منبع')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.Boolean, 'autocomplete')
.addText(LanguageID.LanguageEnglish, 'autocomplete')
.addText(LanguageID.LanguagePersian, 'پرکردن خودکار')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'enctype')
.addText(LanguageID.LanguageEnglish, 'enctype')
.addText(LanguageID.LanguagePersian, 'انک تایپ')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'method')
.addText(LanguageID.LanguageEnglish, 'method')
.addText(LanguageID.LanguagePersian, 'متد')
.addReservedValues([
new RuntimeElementAttributeValue('dialog')
.addText(LanguageID.LanguageEnglish, 'dialog')
.addText(LanguageID.LanguagePersian, 'دیالوگ')
])
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'name')
.addText(LanguageID.LanguageEnglish, 'name')
.addText(LanguageID.LanguagePersian, 'نام')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.Boolean, 'novalidate')
.addText(LanguageID.LanguageEnglish, 'novalidate')
.addText(LanguageID.LanguagePersian, 'بدون اعتبارسنجی')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'rel')
.addText(LanguageID.LanguageEnglish, 'rel')
.addText(LanguageID.LanguagePersian, 'ریلیشن')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'target')
.addText(LanguageID.LanguageEnglish, 'target')
.addText(LanguageID.LanguagePersian, 'تارگت')
);
}
}
2 changes: 1 addition & 1 deletion src/runtime/element/h4.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { LanguageID } from "./../../common/language/language";
import { RuntimeElement } from "./../element";

export class RuntimeElementH3 extends RuntimeElement {
export class RuntimeElementH4 extends RuntimeElement {
constructor() {
super(true, 'h3');
this.addText(LanguageID.LanguageEnglish, 'h4');
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/element/h5.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { LanguageID } from "./../../common/language/language";
import { RuntimeElement } from "./../element";

export class RuntimeElementH3 extends RuntimeElement {
export class RuntimeElementH5 extends RuntimeElement {
constructor() {
super(true, 'h3');
this.addText(LanguageID.LanguageEnglish, 'h5');
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/element/img.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { RuntimeElementAttributeType } from './../element_attribute_type';
import { crossorigins } from './../data/element/values/crossorigin';
import { RuntimeElementAttributeValue } from '../element_attribute_value';

export class RuntimeElementA extends RuntimeElement {
export class RuntimeElementImg extends RuntimeElement {
constructor() {
super(true, "img");
this.addText(LanguageID.LanguageEnglish, "image");
Expand Down
31 changes: 15 additions & 16 deletions src/runtime/element/ol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,28 @@ export class RuntimeElementOl extends RuntimeElement {
super(false, 'ol');
this.addText(LanguageID.LanguageEnglish, 'ol');
this.addText(LanguageID.LanguagePersian, 'فهرست ol');

this.addAttribute(
new RuntimeElementAttribute(
RuntimeElementAttributeType.Boolean,
'reversed'
)
.addText(LanguageID.LanguageEnglish, 'reversed')
.addText(LanguageID.LanguagePersian, 'برعکس')
new RuntimeElementAttribute(RuntimeElementAttributeType.Boolean, 'reserved')
.addText(LanguageID.LanguageEnglish, 'reserved')
.addText(LanguageID.LanguagePersian, 'برعکس')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.Number, 'start')
.addText(LanguageID.LanguageEnglish, 'start')
.addText(LanguageID.LanguagePersian, 'شروع')
.addText(LanguageID.LanguageEnglish, 'start')
.addText(LanguageID.LanguagePersian, 'شروع')
);
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'type')
.addText(LanguageID.LanguageEnglish, 'type')
.addText(LanguageID.LanguagePersian, 'نوع')
.addReservedValues(
['i', 'I', 'a', 'A', '1'].map((value) =>
new RuntimeElementAttributeValue(value).addAllText(value)
)
)
.addText(LanguageID.LanguageEnglish, 'type')
.addText(LanguageID.LanguagePersian, 'نوع')
.addReservedValues([
new RuntimeElementAttributeValue('i').addAllText('i'),
new RuntimeElementAttributeValue('I').addAllText('I'),
new RuntimeElementAttributeValue('a').addAllText('a'),
new RuntimeElementAttributeValue('A').addAllText('A'),
new RuntimeElementAttributeValue('1').addAllText('1'),
])
);

}
}
2 changes: 1 addition & 1 deletion src/runtime/element/script.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { LanguageID } from "./../../common/language/language";
import { RuntimeElement } from "./../element";

export class RuntimeElementS extends RuntimeElement {
export class RuntimeElementScript extends RuntimeElement {
constructor() {
super(true, 'script');
this.addText(LanguageID.LanguageEnglish, 'script');
Expand Down
8 changes: 4 additions & 4 deletions src/runtime/element/small.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { LanguageID } from "./../../common/language/language";
import { RuntimeElement } from "./../element";

export class RuntimeElementSelect extends RuntimeElement {
export class RuntimeElementSmall extends RuntimeElement {
constructor() {
super(true, 'select');
this.addText(LanguageID.LanguageEnglish, 'select');
this.addText(LanguageID.LanguagePersian, 'انتخاب');
super(true, 'small');
this.addText(LanguageID.LanguageEnglish, 'small');
this.addText(LanguageID.LanguagePersian, 'کوچک');
}
}
8 changes: 4 additions & 4 deletions src/runtime/element/strong.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { LanguageID } from "./../../common/language/language";
import { RuntimeElement } from "./../element";

export class RuntimeElementSource extends RuntimeElement {
export class RuntimeElementStrong extends RuntimeElement {
constructor() {
super(true, 'source');
this.addText(LanguageID.LanguageEnglish, 'source');
this.addText(LanguageID.LanguagePersian, 'منبع');
super(true, 'strong');
this.addText(LanguageID.LanguageEnglish, 'strong');
this.addText(LanguageID.LanguagePersian, 'مهم');
}
}
8 changes: 4 additions & 4 deletions src/runtime/element/style.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { LanguageID } from "./../../common/language/language";
import { RuntimeElement } from "./../element";

export class RuntimeElementSource extends RuntimeElement {
export class RuntimeElementStyle extends RuntimeElement {
constructor() {
super(true, 'source');
this.addText(LanguageID.LanguageEnglish, 'source');
this.addText(LanguageID.LanguagePersian, 'منبع');
super(true, 'style');
this.addText(LanguageID.LanguageEnglish, 'style');
this.addText(LanguageID.LanguagePersian, 'استایل');
}
}
25 changes: 13 additions & 12 deletions src/runtime/element/track.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { languages } from './../data/element/language';
import { LanguageID } from "./../../common/language/language";
import { RuntimeElement } from "./../element";
import { RuntimeElementAttribute } from "./../element_attribute";
Expand Down Expand Up @@ -26,17 +27,17 @@ export class RuntimeElementTrack extends RuntimeElement {
.addText(LanguageID.LanguagePersian, 'منبع')
);

// this.addAttribute(
// new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'srclang')
// .addText(LanguageID.LanguageEnglish, 'language')
// .addText(LanguageID.LanguagePersian, 'زبان')
// .addReservedValues(
// languages.map(language =>
// new RuntimeElementAttributeValue(language.code.toUpperCase())
// .addText(LanguageID.LanguageEnglish, language.name)
// .addText(LanguageID.LanguagePersian, language.code)
// )
// )
// );
this.addAttribute(
new RuntimeElementAttribute(RuntimeElementAttributeType.String, 'srclang')
.addText(LanguageID.LanguageEnglish, 'language')
.addText(LanguageID.LanguagePersian, 'زبان')
.addReservedValues(
languages.map(language =>
new RuntimeElementAttributeValue(language.code.toUpperCase())
.addText(LanguageID.LanguageEnglish, language.name)
.addText(LanguageID.LanguagePersian, language.code)
)
)
);
}
}
Loading

0 comments on commit 028d742

Please sign in to comment.