@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.
- package/README.md +11 -0
- package/package.json +14 -0
- package/src/basic/index.d.ts +15 -0
- package/src/basic/index.js +19 -0
- package/src/basic/td-button/td-button.class.d.ts +16 -0
- package/src/basic/td-button/td-button.class.js +140 -0
- package/src/basic/td-button/td-button.interface.d.ts +38 -0
- package/src/basic/td-button/td-button.interface.js +2 -0
- package/src/basic/td-button/td-button.style.d.ts +13 -0
- package/src/basic/td-button/td-button.style.js +143 -0
- package/src/basic/td-container/td-aside/td-aside.class.d.ts +6 -0
- package/src/basic/td-container/td-aside/td-aside.class.js +17 -0
- package/src/basic/td-container/td-aside/td-aside.interface.d.ts +7 -0
- package/src/basic/td-container/td-aside/td-aside.interface.js +2 -0
- package/src/basic/td-container/td-container.class.d.ts +7 -0
- package/src/basic/td-container/td-container.class.js +27 -0
- package/src/basic/td-container/td-container.d.ts +8 -0
- package/src/basic/td-container/td-container.interface.d.ts +8 -0
- package/src/basic/td-container/td-container.interface.js +2 -0
- package/src/basic/td-container/td-container.js +21 -0
- package/src/basic/td-container/td-footer/td-footer.class.d.ts +6 -0
- package/src/basic/td-container/td-footer/td-footer.class.js +18 -0
- package/src/basic/td-container/td-footer/td-footer.interface.d.ts +7 -0
- package/src/basic/td-container/td-footer/td-footer.interface.js +2 -0
- package/src/basic/td-container/td-header/td-header.class.d.ts +8 -0
- package/src/basic/td-container/td-header/td-header.class.js +18 -0
- package/src/basic/td-container/td-header/td-header.interface.d.ts +7 -0
- package/src/basic/td-container/td-header/td-header.interface.js +2 -0
- package/src/basic/td-container/td-main/td-main.class.d.ts +6 -0
- package/src/basic/td-container/td-main/td-main.class.js +19 -0
- package/src/basic/td-container/td-main/td-main.interface.d.ts +6 -0
- package/src/basic/td-container/td-main/td-main.interface.js +2 -0
- package/src/basic/td-icon/td-icon.class.d.ts +11 -0
- package/src/basic/td-icon/td-icon.class.js +57 -0
- package/src/basic/td-icon/td-icon.interface.d.ts +11 -0
- package/src/basic/td-icon/td-icon.interface.js +2 -0
- package/src/basic/td-icon/td-icon.style.d.ts +13 -0
- package/src/basic/td-icon/td-icon.style.js +27 -0
- package/src/basic/td-select/option/option.class.d.ts +12 -0
- package/src/basic/td-select/option/option.class.js +18 -0
- package/src/basic/td-select/option/option.interface.d.ts +5 -0
- package/src/basic/td-select/option/option.interface.js +2 -0
- package/src/basic/td-select/td-select.class.d.ts +14 -0
- package/src/basic/td-select/td-select.class.js +68 -0
- package/src/basic/td-select/td-select.interface.d.ts +6 -0
- package/src/basic/td-select/td-select.interface.js +2 -0
- package/src/data/index.d.ts +0 -0
- package/src/data/index.js +1 -0
- package/src/feedback/dialog/dialog.d.ts +7 -0
- package/src/feedback/dialog/dialog.js +14 -0
- package/src/feedback/index.d.ts +2 -0
- package/src/feedback/index.js +7 -0
- package/src/feedback/message-box/message-box.d.ts +9 -0
- package/src/feedback/message-box/message-box.js +24 -0
- package/src/feedback/overlay/container/body/body.d.ts +7 -0
- package/src/feedback/overlay/container/body/body.js +21 -0
- package/src/feedback/overlay/container/container.d.ts +15 -0
- package/src/feedback/overlay/container/container.js +41 -0
- package/src/feedback/overlay/container/footer/cancel-button/cancel-button.d.ts +8 -0
- package/src/feedback/overlay/container/footer/cancel-button/cancel-button.js +31 -0
- package/src/feedback/overlay/container/footer/confirm-button/confirm-button.d.ts +9 -0
- package/src/feedback/overlay/container/footer/confirm-button/confirm-button.js +35 -0
- package/src/feedback/overlay/container/footer/footer.d.ts +11 -0
- package/src/feedback/overlay/container/footer/footer.js +49 -0
- package/src/feedback/overlay/container/header/close-button/close-button.d.ts +11 -0
- package/src/feedback/overlay/container/header/close-button/close-button.js +37 -0
- package/src/feedback/overlay/container/header/header.d.ts +12 -0
- package/src/feedback/overlay/container/header/header.js +25 -0
- package/src/feedback/overlay/container/header/title/title.d.ts +9 -0
- package/src/feedback/overlay/container/header/title/title.js +23 -0
- package/src/feedback/overlay/overlay.abstract.d.ts +16 -0
- package/src/feedback/overlay/overlay.abstract.js +65 -0
- package/src/form/checkbox-group/checkbox-group.class.d.ts +13 -0
- package/src/form/checkbox-group/checkbox-group.class.js +59 -0
- package/src/form/checkbox-group/checkbox-group.interface.d.ts +6 -0
- package/src/form/checkbox-group/checkbox-group.interface.js +2 -0
- package/src/form/checkbox-group/checkbox-option/checkbox-option.class.d.ts +12 -0
- package/src/form/checkbox-group/checkbox-option/checkbox-option.class.js +44 -0
- package/src/form/checkbox-group/checkbox-option/checkbox-option.interface.d.ts +10 -0
- package/src/form/checkbox-group/checkbox-option/checkbox-option.interface.js +2 -0
- package/src/form/field-item/cascade/field-cascade.abstract.d.ts +22 -0
- package/src/form/field-item/cascade/field-cascade.abstract.js +186 -0
- package/src/form/field-item/field-item.abstract.d.ts +11 -0
- package/src/form/field-item/field-item.abstract.js +42 -0
- package/src/form/field-item/field-item.interface.d.ts +12 -0
- package/src/form/field-item/field-item.interface.js +2 -0
- package/src/form/field-item/field-item.style.d.ts +3 -0
- package/src/form/field-item/field-item.style.js +39 -0
- package/src/form/field-item/input/field-input.abstract.d.ts +13 -0
- package/src/form/field-item/input/field-input.abstract.js +52 -0
- package/src/form/field-item/options/field-options.abstract.d.ts +22 -0
- package/src/form/field-item/options/field-options.abstract.js +246 -0
- package/src/form/field-item/radio/field-radio.abstract.d.ts +16 -0
- package/src/form/field-item/radio/field-radio.abstract.js +98 -0
- package/src/form/field-item/select/field-select.abstract.d.ts +12 -0
- package/src/form/field-item/select/field-select.abstract.js +44 -0
- package/src/form/field-item/span/field-span.abstract.d.ts +9 -0
- package/src/form/field-item/span/field-span.abstract.js +54 -0
- package/src/form/field-item/textarea/field-textarea.abstract.d.ts +11 -0
- package/src/form/field-item/textarea/field-textarea.abstract.js +63 -0
- package/src/form/index.d.ts +11 -0
- package/src/form/index.js +23 -0
- package/src/form/input-number/td-input-number.class.d.ts +9 -0
- package/src/form/input-number/td-input-number.class.js +55 -0
- package/src/form/input-number/td-input-number.interface.d.ts +9 -0
- package/src/form/input-number/td-input-number.interface.js +2 -0
- package/src/form/radio-group/radio-group.class.d.ts +13 -0
- package/src/form/radio-group/radio-group.class.js +48 -0
- package/src/form/radio-group/radio-group.interface.d.ts +6 -0
- package/src/form/radio-group/radio-group.interface.js +2 -0
- package/src/form/radio-group/radio-option/radio-option.class.d.ts +12 -0
- package/src/form/radio-group/radio-option/radio-option.class.js +33 -0
- package/src/form/radio-group/radio-option/radio-option.interface.d.ts +5 -0
- package/src/form/radio-group/radio-option/radio-option.interface.js +2 -0
- package/src/form/select/select.class.d.ts +17 -0
- package/src/form/select/select.class.js +132 -0
- package/src/form/select/select.interface.d.ts +10 -0
- package/src/form/select/select.interface.js +2 -0
- package/src/form/td-input/td-input.class.d.ts +9 -0
- package/src/form/td-input/td-input.class.js +55 -0
- package/src/form/td-input/td-input.interface.d.ts +11 -0
- package/src/form/td-input/td-input.interface.js +2 -0
- package/src/index.d.ts +4 -0
- package/src/index.js +8 -0
- package/src/navigation/index.d.ts +0 -0
- package/src/navigation/index.js +1 -0
- package/src/others/collapsible-box/collapsible-box.d.ts +15 -0
- package/src/others/collapsible-box/collapsible-box.js +37 -0
- package/src/others/collapsible-box/contents/contents.d.ts +7 -0
- package/src/others/collapsible-box/contents/contents.js +25 -0
- package/src/others/collapsible-box/heading/expand-heading.d.ts +12 -0
- package/src/others/collapsible-box/heading/expand-heading.js +70 -0
- package/src/others/index.d.ts +3 -0
- package/src/others/index.js +9 -0
- package/src/styles/color-scheme.d.ts +1 -0
- package/src/styles/color-scheme.js +88 -0
- package/src/styles/config.d.ts +5 -0
- package/src/styles/config.js +8 -0
- package/src/styles/function.d.ts +10 -0
- package/src/styles/function.js +75 -0
- package/src/styles/var.d.ts +184 -0
- 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,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,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,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,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
|
+
}
|
package/src/index.d.ts
ADDED
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
|
+
}
|