@type-dom/ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +11 -0
  2. package/package.json +14 -0
  3. package/src/basic/index.d.ts +15 -0
  4. package/src/basic/index.js +19 -0
  5. package/src/basic/td-button/td-button.class.d.ts +16 -0
  6. package/src/basic/td-button/td-button.class.js +140 -0
  7. package/src/basic/td-button/td-button.interface.d.ts +38 -0
  8. package/src/basic/td-button/td-button.interface.js +2 -0
  9. package/src/basic/td-button/td-button.style.d.ts +13 -0
  10. package/src/basic/td-button/td-button.style.js +143 -0
  11. package/src/basic/td-container/td-aside/td-aside.class.d.ts +6 -0
  12. package/src/basic/td-container/td-aside/td-aside.class.js +17 -0
  13. package/src/basic/td-container/td-aside/td-aside.interface.d.ts +7 -0
  14. package/src/basic/td-container/td-aside/td-aside.interface.js +2 -0
  15. package/src/basic/td-container/td-container.class.d.ts +7 -0
  16. package/src/basic/td-container/td-container.class.js +27 -0
  17. package/src/basic/td-container/td-container.d.ts +8 -0
  18. package/src/basic/td-container/td-container.interface.d.ts +8 -0
  19. package/src/basic/td-container/td-container.interface.js +2 -0
  20. package/src/basic/td-container/td-container.js +21 -0
  21. package/src/basic/td-container/td-footer/td-footer.class.d.ts +6 -0
  22. package/src/basic/td-container/td-footer/td-footer.class.js +18 -0
  23. package/src/basic/td-container/td-footer/td-footer.interface.d.ts +7 -0
  24. package/src/basic/td-container/td-footer/td-footer.interface.js +2 -0
  25. package/src/basic/td-container/td-header/td-header.class.d.ts +8 -0
  26. package/src/basic/td-container/td-header/td-header.class.js +18 -0
  27. package/src/basic/td-container/td-header/td-header.interface.d.ts +7 -0
  28. package/src/basic/td-container/td-header/td-header.interface.js +2 -0
  29. package/src/basic/td-container/td-main/td-main.class.d.ts +6 -0
  30. package/src/basic/td-container/td-main/td-main.class.js +19 -0
  31. package/src/basic/td-container/td-main/td-main.interface.d.ts +6 -0
  32. package/src/basic/td-container/td-main/td-main.interface.js +2 -0
  33. package/src/basic/td-icon/td-icon.class.d.ts +11 -0
  34. package/src/basic/td-icon/td-icon.class.js +57 -0
  35. package/src/basic/td-icon/td-icon.interface.d.ts +11 -0
  36. package/src/basic/td-icon/td-icon.interface.js +2 -0
  37. package/src/basic/td-icon/td-icon.style.d.ts +13 -0
  38. package/src/basic/td-icon/td-icon.style.js +27 -0
  39. package/src/basic/td-select/option/option.class.d.ts +12 -0
  40. package/src/basic/td-select/option/option.class.js +18 -0
  41. package/src/basic/td-select/option/option.interface.d.ts +5 -0
  42. package/src/basic/td-select/option/option.interface.js +2 -0
  43. package/src/basic/td-select/td-select.class.d.ts +14 -0
  44. package/src/basic/td-select/td-select.class.js +68 -0
  45. package/src/basic/td-select/td-select.interface.d.ts +6 -0
  46. package/src/basic/td-select/td-select.interface.js +2 -0
  47. package/src/data/index.d.ts +0 -0
  48. package/src/data/index.js +1 -0
  49. package/src/feedback/dialog/dialog.d.ts +7 -0
  50. package/src/feedback/dialog/dialog.js +14 -0
  51. package/src/feedback/index.d.ts +2 -0
  52. package/src/feedback/index.js +7 -0
  53. package/src/feedback/message-box/message-box.d.ts +9 -0
  54. package/src/feedback/message-box/message-box.js +24 -0
  55. package/src/feedback/overlay/container/body/body.d.ts +7 -0
  56. package/src/feedback/overlay/container/body/body.js +21 -0
  57. package/src/feedback/overlay/container/container.d.ts +15 -0
  58. package/src/feedback/overlay/container/container.js +41 -0
  59. package/src/feedback/overlay/container/footer/cancel-button/cancel-button.d.ts +8 -0
  60. package/src/feedback/overlay/container/footer/cancel-button/cancel-button.js +31 -0
  61. package/src/feedback/overlay/container/footer/confirm-button/confirm-button.d.ts +9 -0
  62. package/src/feedback/overlay/container/footer/confirm-button/confirm-button.js +35 -0
  63. package/src/feedback/overlay/container/footer/footer.d.ts +11 -0
  64. package/src/feedback/overlay/container/footer/footer.js +49 -0
  65. package/src/feedback/overlay/container/header/close-button/close-button.d.ts +11 -0
  66. package/src/feedback/overlay/container/header/close-button/close-button.js +37 -0
  67. package/src/feedback/overlay/container/header/header.d.ts +12 -0
  68. package/src/feedback/overlay/container/header/header.js +25 -0
  69. package/src/feedback/overlay/container/header/title/title.d.ts +9 -0
  70. package/src/feedback/overlay/container/header/title/title.js +23 -0
  71. package/src/feedback/overlay/overlay.abstract.d.ts +16 -0
  72. package/src/feedback/overlay/overlay.abstract.js +65 -0
  73. package/src/form/checkbox-group/checkbox-group.class.d.ts +13 -0
  74. package/src/form/checkbox-group/checkbox-group.class.js +59 -0
  75. package/src/form/checkbox-group/checkbox-group.interface.d.ts +6 -0
  76. package/src/form/checkbox-group/checkbox-group.interface.js +2 -0
  77. package/src/form/checkbox-group/checkbox-option/checkbox-option.class.d.ts +12 -0
  78. package/src/form/checkbox-group/checkbox-option/checkbox-option.class.js +44 -0
  79. package/src/form/checkbox-group/checkbox-option/checkbox-option.interface.d.ts +10 -0
  80. package/src/form/checkbox-group/checkbox-option/checkbox-option.interface.js +2 -0
  81. package/src/form/field-item/cascade/field-cascade.abstract.d.ts +22 -0
  82. package/src/form/field-item/cascade/field-cascade.abstract.js +186 -0
  83. package/src/form/field-item/field-item.abstract.d.ts +11 -0
  84. package/src/form/field-item/field-item.abstract.js +42 -0
  85. package/src/form/field-item/field-item.interface.d.ts +12 -0
  86. package/src/form/field-item/field-item.interface.js +2 -0
  87. package/src/form/field-item/field-item.style.d.ts +3 -0
  88. package/src/form/field-item/field-item.style.js +39 -0
  89. package/src/form/field-item/input/field-input.abstract.d.ts +13 -0
  90. package/src/form/field-item/input/field-input.abstract.js +52 -0
  91. package/src/form/field-item/options/field-options.abstract.d.ts +22 -0
  92. package/src/form/field-item/options/field-options.abstract.js +246 -0
  93. package/src/form/field-item/radio/field-radio.abstract.d.ts +16 -0
  94. package/src/form/field-item/radio/field-radio.abstract.js +98 -0
  95. package/src/form/field-item/select/field-select.abstract.d.ts +12 -0
  96. package/src/form/field-item/select/field-select.abstract.js +44 -0
  97. package/src/form/field-item/span/field-span.abstract.d.ts +9 -0
  98. package/src/form/field-item/span/field-span.abstract.js +54 -0
  99. package/src/form/field-item/textarea/field-textarea.abstract.d.ts +11 -0
  100. package/src/form/field-item/textarea/field-textarea.abstract.js +63 -0
  101. package/src/form/index.d.ts +11 -0
  102. package/src/form/index.js +23 -0
  103. package/src/form/input-number/td-input-number.class.d.ts +9 -0
  104. package/src/form/input-number/td-input-number.class.js +55 -0
  105. package/src/form/input-number/td-input-number.interface.d.ts +9 -0
  106. package/src/form/input-number/td-input-number.interface.js +2 -0
  107. package/src/form/radio-group/radio-group.class.d.ts +13 -0
  108. package/src/form/radio-group/radio-group.class.js +48 -0
  109. package/src/form/radio-group/radio-group.interface.d.ts +6 -0
  110. package/src/form/radio-group/radio-group.interface.js +2 -0
  111. package/src/form/radio-group/radio-option/radio-option.class.d.ts +12 -0
  112. package/src/form/radio-group/radio-option/radio-option.class.js +33 -0
  113. package/src/form/radio-group/radio-option/radio-option.interface.d.ts +5 -0
  114. package/src/form/radio-group/radio-option/radio-option.interface.js +2 -0
  115. package/src/form/select/select.class.d.ts +17 -0
  116. package/src/form/select/select.class.js +132 -0
  117. package/src/form/select/select.interface.d.ts +10 -0
  118. package/src/form/select/select.interface.js +2 -0
  119. package/src/form/td-input/td-input.class.d.ts +9 -0
  120. package/src/form/td-input/td-input.class.js +55 -0
  121. package/src/form/td-input/td-input.interface.d.ts +11 -0
  122. package/src/form/td-input/td-input.interface.js +2 -0
  123. package/src/index.d.ts +4 -0
  124. package/src/index.js +8 -0
  125. package/src/navigation/index.d.ts +0 -0
  126. package/src/navigation/index.js +1 -0
  127. package/src/others/collapsible-box/collapsible-box.d.ts +15 -0
  128. package/src/others/collapsible-box/collapsible-box.js +37 -0
  129. package/src/others/collapsible-box/contents/contents.d.ts +7 -0
  130. package/src/others/collapsible-box/contents/contents.js +25 -0
  131. package/src/others/collapsible-box/heading/expand-heading.d.ts +12 -0
  132. package/src/others/collapsible-box/heading/expand-heading.js +70 -0
  133. package/src/others/index.d.ts +3 -0
  134. package/src/others/index.js +9 -0
  135. package/src/styles/color-scheme.d.ts +1 -0
  136. package/src/styles/color-scheme.js +88 -0
  137. package/src/styles/config.d.ts +5 -0
  138. package/src/styles/config.js +8 -0
  139. package/src/styles/function.d.ts +10 -0
  140. package/src/styles/function.js +75 -0
  141. package/src/styles/var.d.ts +184 -0
  142. package/src/styles/var.js +250 -0
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TdInput = exports.FieldTextarea = exports.FieldSpan = exports.FieldSelect = exports.FieldRadio = exports.FieldInput = exports.CheckboxOption = exports.CheckboxGroup = exports.RadioOption = exports.RadioGroup = void 0;
4
+ var radio_group_class_1 = require("./radio-group/radio-group.class");
5
+ Object.defineProperty(exports, "RadioGroup", { enumerable: true, get: function () { return radio_group_class_1.RadioGroup; } });
6
+ var radio_option_class_1 = require("./radio-group/radio-option/radio-option.class");
7
+ Object.defineProperty(exports, "RadioOption", { enumerable: true, get: function () { return radio_option_class_1.RadioOption; } });
8
+ var checkbox_group_class_1 = require("./checkbox-group/checkbox-group.class");
9
+ Object.defineProperty(exports, "CheckboxGroup", { enumerable: true, get: function () { return checkbox_group_class_1.CheckboxGroup; } });
10
+ var checkbox_option_class_1 = require("./checkbox-group/checkbox-option/checkbox-option.class");
11
+ Object.defineProperty(exports, "CheckboxOption", { enumerable: true, get: function () { return checkbox_option_class_1.CheckboxOption; } });
12
+ var field_input_abstract_1 = require("./field-item/input/field-input.abstract");
13
+ Object.defineProperty(exports, "FieldInput", { enumerable: true, get: function () { return field_input_abstract_1.FieldInput; } });
14
+ var field_radio_abstract_1 = require("./field-item/radio/field-radio.abstract");
15
+ Object.defineProperty(exports, "FieldRadio", { enumerable: true, get: function () { return field_radio_abstract_1.FieldRadio; } });
16
+ var field_select_abstract_1 = require("./field-item/select/field-select.abstract");
17
+ Object.defineProperty(exports, "FieldSelect", { enumerable: true, get: function () { return field_select_abstract_1.FieldSelect; } });
18
+ var field_span_abstract_1 = require("./field-item/span/field-span.abstract");
19
+ Object.defineProperty(exports, "FieldSpan", { enumerable: true, get: function () { return field_span_abstract_1.FieldSpan; } });
20
+ var field_textarea_abstract_1 = require("./field-item/textarea/field-textarea.abstract");
21
+ Object.defineProperty(exports, "FieldTextarea", { enumerable: true, get: function () { return field_textarea_abstract_1.FieldTextarea; } });
22
+ var td_input_class_1 = require("./td-input/td-input.class");
23
+ Object.defineProperty(exports, "TdInput", { enumerable: true, get: function () { return td_input_class_1.TdInput; } });
@@ -0,0 +1,9 @@
1
+ import { TypeHtml } from '@type-dom/framework';
2
+ import { FieldInput } from '../field-item/input/field-input.abstract';
3
+ import { ITdInputNumberConfig } from './td-input-number.interface';
4
+ export declare class TdInputNumber extends FieldInput {
5
+ className: 'InputNumber';
6
+ parent?: TypeHtml;
7
+ constructor(config: Partial<ITdInputNumberConfig>);
8
+ reset(value?: string): void;
9
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TdInputNumber = void 0;
4
+ const field_input_abstract_1 = require("../field-item/input/field-input.abstract");
5
+ // 标题属性
6
+ class TdInputNumber extends field_input_abstract_1.FieldInput {
7
+ constructor(config) {
8
+ super(config.labelTitle, config.placeholder);
9
+ console.log('InputNumber constructor . ');
10
+ this.className = 'InputNumber';
11
+ this.addStyleObj({
12
+ padding: '2px 10px 2px 0',
13
+ });
14
+ this.addAttrName('input-number');
15
+ this.label.addStyleObj({
16
+ fontSize: '16px',
17
+ width: '100px',
18
+ });
19
+ this.content.addAttrObj({
20
+ type: 'number',
21
+ });
22
+ // todo 有后缀时才需要这样
23
+ // this.content.addStyleObj({
24
+ // borderRadius: '4px 0 0 4px',
25
+ // });
26
+ if (config.readonly) {
27
+ this.content.addAttrObj({
28
+ disabled: true,
29
+ });
30
+ }
31
+ // this.button.setStyleObj({
32
+ // display: 'inline-block',
33
+ // padding: '4px 3px',
34
+ // fontSize: '14px',
35
+ // borderRadius: '0 4px 4px 0',
36
+ // height: '28px'
37
+ // });
38
+ // this.button.setTitle('');
39
+ // console.log('this.dom is ', this.dom);
40
+ }
41
+ reset(value) {
42
+ // console.log('value is ', value);
43
+ // if (value !== undefined) {
44
+ // OfdEditor.selectedControl?.resetLabelText(this.content.dom.value);
45
+ // return;
46
+ // }
47
+ // if (this.styleObj.display === 'none') this.setStyle('display', 'block');
48
+ // if (OfdEditor.selectedControl?.formItem.labelText?.text) {
49
+ // this.resetInputValue(OfdEditor.selectedControl.formItem.labelText.text);
50
+ // } else {
51
+ // this.resetInputValue('');
52
+ // }
53
+ }
54
+ }
55
+ exports.TdInputNumber = TdInputNumber;
@@ -0,0 +1,9 @@
1
+ import { TypeComponent } from '@type-dom/framework';
2
+ export interface ITdInputNumber extends TypeComponent {
3
+ className: 'TdInputNumber';
4
+ }
5
+ export interface ITdInputNumberConfig {
6
+ labelTitle?: string;
7
+ placeholder?: string;
8
+ readonly?: boolean;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { TypeDiv, TypeHtml } from '@type-dom/framework';
2
+ import { IOption } from '../checkbox-group/checkbox-option/checkbox-option.interface';
3
+ import { RadioOption } from './radio-option/radio-option.class';
4
+ import { IRadioGroup } from './radio-group.interface';
5
+ export declare class RadioGroup extends TypeDiv implements IRadioGroup {
6
+ className: 'RadioGroup';
7
+ parent?: TypeHtml;
8
+ childNodes: RadioOption[];
9
+ value: string | number | boolean;
10
+ constructor();
11
+ setOptions(options: IOption[]): void;
12
+ setValue(value: string | number | boolean): void;
13
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadioGroup = void 0;
4
+ const framework_1 = require("@type-dom/framework");
5
+ const radio_option_class_1 = require("./radio-option/radio-option.class");
6
+ class RadioGroup extends framework_1.TypeDiv {
7
+ constructor() {
8
+ super();
9
+ this.className = 'RadioGroup';
10
+ this.addAttrName('radio-group');
11
+ this.value = '';
12
+ this.childNodes = [];
13
+ }
14
+ setOptions(options) {
15
+ this.clearChildNodes();
16
+ this.clearChildDom();
17
+ const random = Math.random();
18
+ options.forEach((opt) => {
19
+ const optObj = new radio_option_class_1.RadioOption();
20
+ optObj.input.addAttrObj({
21
+ name: 'radio' + random,
22
+ label: opt.label,
23
+ value: opt.value,
24
+ checked: opt.checked || false
25
+ });
26
+ if (opt.checked) {
27
+ this.value = opt.value;
28
+ }
29
+ optObj.text.setText(opt.label);
30
+ this.addChild(optObj);
31
+ });
32
+ }
33
+ setValue(value) {
34
+ this.value = value;
35
+ // console.error('value is ', value);
36
+ this.childNodes.forEach(opt => {
37
+ if (String(opt.input.attrObj.value) === String(value)) {
38
+ opt.input.setAttrObj({
39
+ checked: true,
40
+ });
41
+ }
42
+ else {
43
+ opt.input.removeAttribute('checked');
44
+ }
45
+ });
46
+ }
47
+ }
48
+ exports.RadioGroup = RadioGroup;
@@ -0,0 +1,6 @@
1
+ import { ITypeDiv } from '@type-dom/framework';
2
+ import { IRadioOption } from './radio-option/radio-option.interface';
3
+ export interface IRadioGroup extends ITypeDiv {
4
+ className: 'RadioGroup';
5
+ childNodes: IRadioOption[];
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ import { Input, TextNode, TypeSpan } from '@type-dom/framework';
2
+ import { RadioGroup } from '../radio-group.class';
3
+ import { IRadioOption } from './radio-option.interface';
4
+ export declare class RadioOption extends TypeSpan implements IRadioOption {
5
+ className: 'RadioOption';
6
+ parent?: RadioGroup;
7
+ childNodes: [Input, TextNode];
8
+ input: Input;
9
+ text: TextNode;
10
+ constructor();
11
+ initEvents(): void;
12
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadioOption = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const framework_1 = require("@type-dom/framework");
6
+ class RadioOption extends framework_1.TypeSpan {
7
+ constructor() {
8
+ super();
9
+ this.className = 'RadioOption';
10
+ this.addStyleObj({
11
+ padding: '0 5px',
12
+ });
13
+ this.input = new framework_1.Input(this);
14
+ this.input.addAttrObj({
15
+ type: 'radio',
16
+ // name: optionConfig.name,
17
+ // label: opt.label,
18
+ // value: opt.value,
19
+ // checked: opt.checked || false
20
+ });
21
+ this.text = new framework_1.TextNode('');
22
+ this.childNodes = [this.input, this.text];
23
+ }
24
+ initEvents() {
25
+ this.events.push((0, rxjs_1.fromEvent)(this.input.dom, 'click').subscribe(() => {
26
+ console.log('this.input.dom click . ');
27
+ console.log('this.input.dom.value is ', this.input.dom.value);
28
+ if (this.parent)
29
+ this.parent.value = this.input.dom.value;
30
+ }));
31
+ }
32
+ }
33
+ exports.RadioOption = RadioOption;
@@ -0,0 +1,5 @@
1
+ import { ITypeSpan, IInput, ITextNode } from '@type-dom/framework';
2
+ export interface IRadioOption extends ITypeSpan {
3
+ className: 'RadioOption';
4
+ childNodes: [IInput, ITextNode];
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ import { Option, TypeHtml, TypeSelect } from '@type-dom/framework';
2
+ import { IOptionConfig } from './select.interface';
3
+ export declare class Select extends TypeSelect {
4
+ className: 'Select';
5
+ parent?: TypeHtml;
6
+ childNodes: Option[];
7
+ value: string | number | boolean;
8
+ constructor();
9
+ setOptionConfig(optionConfig: IOptionConfig): void;
10
+ initEvents(): void;
11
+ jsSelectIsExitItem(objSelect: HTMLSelectElement, objItemValue: string): boolean;
12
+ jsAddItemToSelect(objSelect: HTMLSelectElement, objItemText: string | undefined, objItemValue: string): void;
13
+ jsRemoveItemFromSelect(objSelect: HTMLSelectElement, objItemValue: string): void;
14
+ jsRemoveSelectedItemFromSelect(objSelect: HTMLSelectElement): void;
15
+ jsUpdateItemToSelect(objSelect: HTMLSelectElement, objItemText: string, objItemValue: string): void;
16
+ jsSelectItemByValue(objSelect: HTMLSelectElement, objItemText: string): void;
17
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Select = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const framework_1 = require("@type-dom/framework");
6
+ class Select extends framework_1.TypeSelect {
7
+ constructor() {
8
+ super();
9
+ this.className = 'Select';
10
+ this.childNodes = [];
11
+ this.value = '';
12
+ }
13
+ setOptionConfig(optionConfig) {
14
+ this.clearChildNodes();
15
+ this.clearChildDom();
16
+ optionConfig.options.forEach((opt) => {
17
+ const optionObj = new framework_1.Option(this);
18
+ optionObj.setAttrObj({
19
+ // label: opt.label,
20
+ value: opt.value,
21
+ selected: opt.selected || false,
22
+ });
23
+ if (opt.selected) {
24
+ this.value = opt.value;
25
+ }
26
+ const text = new framework_1.TextNode(opt.label);
27
+ optionObj.childNodes = [text];
28
+ this.addChild(optionObj);
29
+ });
30
+ }
31
+ initEvents() {
32
+ this.events.push((0, rxjs_1.fromEvent)(this.dom, 'click').subscribe(() => {
33
+ console.log('this.dom click . ');
34
+ console.log('this.dom.value is ', this.dom.value);
35
+ this.value = this.dom.value; // 对应的opt.label.
36
+ this.childNodes.forEach(opt => {
37
+ if (opt.dom.value === this.dom.value) {
38
+ opt.setAttrObj({
39
+ selected: true,
40
+ });
41
+ }
42
+ else {
43
+ opt.removeAttribute('selected');
44
+ }
45
+ });
46
+ }));
47
+ }
48
+ // 1.判断select选项中 是否存在Value="paraValue"的Item
49
+ jsSelectIsExitItem(objSelect, objItemValue) {
50
+ let isExit = false;
51
+ for (let i = 0; i < objSelect.options.length; i++) {
52
+ if (objSelect.options[i].value === objItemValue) {
53
+ isExit = true;
54
+ break;
55
+ }
56
+ }
57
+ return isExit;
58
+ }
59
+ // 2.向select选项中 加入一个Item
60
+ jsAddItemToSelect(objSelect, objItemText, objItemValue) {
61
+ // 判断是否存在
62
+ if (this.jsSelectIsExitItem(objSelect, objItemValue)) {
63
+ alert('该Item的Value值已经存在');
64
+ }
65
+ else {
66
+ // let varItem = new Option(objItemText, objItemValue);
67
+ // objSelect.options.add(varItem);
68
+ alert('成功加入');
69
+ }
70
+ }
71
+ // 3.从select选项中 删除一个Item
72
+ jsRemoveItemFromSelect(objSelect, objItemValue) {
73
+ // 判断是否存在
74
+ if (this.jsSelectIsExitItem(objSelect, objItemValue)) {
75
+ for (let i = 0; i < objSelect.options.length; i++) {
76
+ if (objSelect.options[i].value === objItemValue) {
77
+ objSelect.options.remove(i);
78
+ break;
79
+ }
80
+ }
81
+ alert('成功删除');
82
+ }
83
+ else {
84
+ alert('该select中 不存在该项');
85
+ }
86
+ }
87
+ // 4.删除select中选中的项
88
+ jsRemoveSelectedItemFromSelect(objSelect) {
89
+ const length = objSelect.options.length - 1;
90
+ for (let i = length; i >= 0; i--) {
91
+ if (objSelect[i].selected === true) {
92
+ // objSelect.options[i] = null;
93
+ }
94
+ }
95
+ }
96
+ // 5.修改select选项中 value="paraValue"的text为"paraText"
97
+ jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {
98
+ // 判断是否存在
99
+ if (this.jsSelectIsExitItem(objSelect, objItemValue)) {
100
+ for (let i = 0; i < objSelect.options.length; i++) {
101
+ if (objSelect.options[i].value === objItemValue) {
102
+ objSelect.options[i].text = objItemText;
103
+ break;
104
+ }
105
+ }
106
+ alert('成功修改');
107
+ }
108
+ else {
109
+ alert('该select中 不存在该项');
110
+ }
111
+ }
112
+ // 6.设置select中text="paraText"的第一个Item为选中
113
+ jsSelectItemByValue(objSelect, objItemText) {
114
+ // 判断是否存在
115
+ let isExit = false;
116
+ for (let i = 0; i < objSelect.options.length; i++) {
117
+ if (objSelect.options[i].text === objItemText) {
118
+ objSelect.options[i].selected = true;
119
+ isExit = true;
120
+ break;
121
+ }
122
+ }
123
+ // Show出结果
124
+ if (isExit) {
125
+ alert('成功选中');
126
+ }
127
+ else {
128
+ alert('该select中 不存在该项');
129
+ }
130
+ }
131
+ }
132
+ exports.Select = Select;
@@ -0,0 +1,10 @@
1
+ import { ITypeSelect } from '@type-dom/framework';
2
+ import { IOption } from '../field-item/field-item.interface';
3
+ export interface ISelect extends ITypeSelect {
4
+ className: 'Select';
5
+ }
6
+ export interface IOptionConfig {
7
+ name: string;
8
+ resultValue: string | number | boolean;
9
+ options: IOption[];
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { TypeHtml } from '@type-dom/framework';
2
+ import { FieldInput } from '../field-item/input/field-input.abstract';
3
+ import { ITdInput, ITdInputConfig } from './td-input.interface';
4
+ export declare class TdInput extends FieldInput implements ITdInput {
5
+ className: 'TdInput';
6
+ parent?: TypeHtml;
7
+ constructor(config: Partial<ITdInputConfig>);
8
+ reset(value?: string): void;
9
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TdInput = void 0;
4
+ const field_input_abstract_1 = require("../field-item/input/field-input.abstract");
5
+ // 标题属性
6
+ class TdInput extends field_input_abstract_1.FieldInput {
7
+ constructor(config) {
8
+ super(config.labelTitle, config.placeholder);
9
+ console.log('InputItem constructor . ');
10
+ this.className = 'TdInput';
11
+ this.addStyleObj({
12
+ padding: '2px 10px 2px 0',
13
+ });
14
+ this.addAttrName('input-item');
15
+ this.label.addStyleObj({
16
+ fontSize: '16px',
17
+ width: config.labelWidth || '150px',
18
+ });
19
+ this.content.addAttrObj({
20
+ type: (config === null || config === void 0 ? void 0 : config.type) || 'text',
21
+ });
22
+ // todo 有后缀时才需要这样
23
+ // this.content.addStyleObj({
24
+ // borderRadius: '4px 0 0 4px',
25
+ // });
26
+ if (config.readonly) {
27
+ this.content.addAttrObj({
28
+ disabled: true,
29
+ });
30
+ }
31
+ // this.button.setStyleObj({
32
+ // display: 'inline-block',
33
+ // padding: '4px 3px',
34
+ // fontSize: '14px',
35
+ // borderRadius: '0 4px 4px 0',
36
+ // height: '28px'
37
+ // });
38
+ // this.button.setTitle('');
39
+ // console.log('this.dom is ', this.dom);
40
+ }
41
+ reset(value) {
42
+ // console.log('value is ', value);
43
+ // if (value !== undefined) {
44
+ // OfdEditor.selectedControl?.resetLabelText(this.content.dom.value);
45
+ // return;
46
+ // }
47
+ // if (this.styleObj.display === 'none') this.setStyle('display', 'block');
48
+ // if (OfdEditor.selectedControl?.formItem.labelText?.text) {
49
+ // this.resetInputValue(OfdEditor.selectedControl.formItem.labelText.text);
50
+ // } else {
51
+ // this.resetInputValue('');
52
+ // }
53
+ }
54
+ }
55
+ exports.TdInput = TdInput;
@@ -0,0 +1,11 @@
1
+ import { TypeComponent } from '@type-dom/framework';
2
+ export interface ITdInput extends TypeComponent {
3
+ className: 'TdInput';
4
+ }
5
+ export interface ITdInputConfig {
6
+ labelTitle?: string;
7
+ labelWidth?: string;
8
+ placeholder?: string;
9
+ readonly?: boolean;
10
+ type?: 'text' | 'password' | 'radio' | 'checkbox' | 'submit' | 'reset' | 'hidden' | 'date' | 'time' | 'file' | 'number' | 'email' | 'url' | 'search';
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/src/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './basic';
2
+ export * from './feedback';
3
+ export * from './form';
4
+ export * from './others';
package/src/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./basic"), exports);
5
+ tslib_1.__exportStar(require("./feedback"), exports);
6
+ tslib_1.__exportStar(require("./form"), exports);
7
+ // export * from './navigation';
8
+ tslib_1.__exportStar(require("./others"), exports);
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,15 @@
1
+ import { TypeComponent } from '@type-dom/framework';
2
+ import { CollapsibleBoxContents } from './contents/contents';
3
+ import { ExpandHeading } from './heading/expand-heading';
4
+ /**
5
+ * 可收缩盒子组件
6
+ */
7
+ export declare class CollapsibleBox extends TypeComponent {
8
+ className: 'CollapsibleBox' | string;
9
+ parent?: TypeComponent;
10
+ childNodes: [ExpandHeading, CollapsibleBoxContents];
11
+ heading: ExpandHeading;
12
+ contents: CollapsibleBoxContents;
13
+ constructor();
14
+ get children(): (CollapsibleBoxContents | ExpandHeading)[];
15
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CollapsibleBox = void 0;
4
+ const framework_1 = require("@type-dom/framework");
5
+ const contents_1 = require("./contents/contents");
6
+ const expand_heading_1 = require("./heading/expand-heading");
7
+ /**
8
+ * 可收缩盒子组件
9
+ */
10
+ class CollapsibleBox extends framework_1.TypeComponent {
11
+ constructor() {
12
+ super('div');
13
+ this.className = 'CollapsibleBox';
14
+ this.propObj = {
15
+ styleObj: {
16
+ // borderTop: '1px solid #dddddd',
17
+ // borderBottom: '1px solid #dddddd',
18
+ listStyle: 'none',
19
+ padding: '3px',
20
+ marginBottom: '5px',
21
+ },
22
+ attrObj: {
23
+ name: 'collapsible-box',
24
+ }
25
+ };
26
+ this.heading = new expand_heading_1.ExpandHeading('标题');
27
+ this.heading.parent = this;
28
+ this.contents = new contents_1.CollapsibleBoxContents();
29
+ this.contents.parent = this;
30
+ this.childNodes = [this.heading, this.contents];
31
+ }
32
+ // contents重新赋值后,children刷新。render渲染会变。
33
+ get children() {
34
+ return [this.heading, this.contents];
35
+ }
36
+ }
37
+ exports.CollapsibleBox = CollapsibleBox;
@@ -0,0 +1,7 @@
1
+ import { TypeComponent } from '@type-dom/framework';
2
+ import { CollapsibleBox } from '../collapsible-box';
3
+ export declare class CollapsibleBoxContents extends TypeComponent {
4
+ className: 'CollapsibleBoxContents' | string;
5
+ parent?: CollapsibleBox;
6
+ constructor();
7
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CollapsibleBoxContents = void 0;
4
+ const framework_1 = require("@type-dom/framework");
5
+ class CollapsibleBoxContents extends framework_1.TypeComponent {
6
+ // childNodes: ControlMenu[];
7
+ constructor() {
8
+ super('div');
9
+ this.className = 'CollapsibleBoxContents';
10
+ this.propObj = {
11
+ styleObj: {
12
+ display: framework_1.StyleDisplay.flex,
13
+ flexWrap: 'wrap',
14
+ justifyContent: 'flex-start',
15
+ // width: '194px',
16
+ border: '1px solid #a0a0a0',
17
+ },
18
+ attrObj: {
19
+ name: 'collapsible-box-contents',
20
+ }
21
+ };
22
+ this.childNodes = [];
23
+ }
24
+ }
25
+ exports.CollapsibleBoxContents = CollapsibleBoxContents;
@@ -0,0 +1,12 @@
1
+ import { Span, TextNode, TypeComponent } from '@type-dom/framework';
2
+ import { ElCaretBottomSvg } from '@type-dom/svgs';
3
+ export declare class ExpandHeading extends TypeComponent {
4
+ className: 'ExpandHeading';
5
+ parent?: TypeComponent;
6
+ childNodes: [ElCaretBottomSvg, Span];
7
+ svg: ElCaretBottomSvg;
8
+ title: TextNode;
9
+ constructor(title: string);
10
+ setTitle(title: string): void;
11
+ initEvents(): void;
12
+ }