native-document 1.0.76 → 1.0.78
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/components.js +26 -1
- package/dist/native-document.components.min.js +6447 -1984
- package/dist/native-document.dev.js +309 -196
- package/dist/native-document.dev.js.map +1 -1
- package/dist/native-document.devtools.min.js +1 -1
- package/dist/native-document.min.js +1 -1
- package/package.json +1 -1
- package/rollup.config.js +0 -14
- package/src/components/$traits/HasItems.js +38 -0
- package/src/components/BaseComponent.js +70 -0
- package/src/components/accordion/Accordion.js +133 -0
- package/src/components/accordion/AccordionItem.js +119 -0
- package/src/components/accordion/index.js +7 -0
- package/src/components/alert/Alert.js +155 -0
- package/src/components/alert/index.js +6 -0
- package/src/components/avatar/Avatar.js +178 -0
- package/src/components/avatar/index.js +5 -0
- package/src/components/badge/Badge.js +103 -0
- package/src/components/badge/index.js +6 -0
- package/src/components/breadcrumb/BreadCrumb.js +70 -0
- package/src/components/breadcrumb/index.js +5 -0
- package/src/components/button/Button.js +174 -0
- package/src/components/button/index.js +5 -0
- package/src/components/card/Card.js +110 -0
- package/src/components/card/index.js +5 -0
- package/src/components/context-menu/ContextMenu.js +60 -0
- package/src/components/context-menu/ContextMenuGroup.js +16 -0
- package/src/components/context-menu/ContextMenuItem.js +16 -0
- package/src/components/context-menu/index.js +10 -0
- package/src/components/divider/Divider.js +126 -0
- package/src/components/divider/index.js +6 -0
- package/src/components/dropdown/Dropdown.js +170 -0
- package/src/components/dropdown/DropdownDivider.js +24 -0
- package/src/components/dropdown/DropdownGroup.js +44 -0
- package/src/components/dropdown/DropdownItem.js +71 -0
- package/src/components/dropdown/DropdownTrigger.js +64 -0
- package/src/components/dropdown/index.js +13 -0
- package/src/components/{fom-control → form}/FormControl.js +28 -20
- package/src/components/{fom-control → form}/field/DefaultRender.js +1 -15
- package/src/components/{fom-control → form}/field/Field.js +64 -137
- package/src/components/{fom-control → form}/field/FieldCollection.js +39 -19
- package/src/components/{fom-control → form}/field/types/AutocompleteField.js +11 -0
- package/src/components/form/field/types/CheckboxField.js +36 -0
- package/src/components/{fom-control → form}/field/types/CheckboxGroupField.js +10 -0
- package/src/components/{fom-control → form}/field/types/ColorField.js +10 -0
- package/src/components/{fom-control → form}/field/types/DateField.js +10 -0
- package/src/components/{fom-control → form}/field/types/EmailField.js +10 -0
- package/src/components/{fom-control → form}/field/types/FileField.js +10 -0
- package/src/components/form/field/types/HiddenField.js +18 -0
- package/src/components/{fom-control → form}/field/types/ImageField.js +10 -0
- package/src/components/{fom-control → form}/field/types/NumberField.js +10 -0
- package/src/components/{fom-control → form}/field/types/PasswordField.js +10 -0
- package/src/components/{fom-control → form}/field/types/RadioField.js +28 -2
- package/src/components/{fom-control → form}/field/types/RangeField.js +10 -0
- package/src/components/{fom-control → form}/field/types/SearchField.js +10 -0
- package/src/components/{fom-control → form}/field/types/SelectField.js +10 -0
- package/src/components/{fom-control → form}/field/types/StringField.js +10 -0
- package/src/components/{fom-control → form}/field/types/TelField.js +10 -1
- package/src/components/{fom-control → form}/field/types/TextAreaField.js +10 -0
- package/src/components/{fom-control → form}/field/types/TimeField.js +10 -1
- package/src/components/{fom-control → form}/field/types/UrlField.js +9 -1
- package/src/components/form/index.js +49 -0
- package/src/components/list/List.js +106 -0
- package/src/components/list/ListGroup.js +67 -0
- package/src/components/list/ListItem.js +103 -0
- package/src/components/list/index.js +10 -0
- package/src/components/menu/Menu.js +82 -0
- package/src/components/menu/MenuDivider.js +22 -0
- package/src/components/menu/MenuGroup.js +42 -0
- package/src/components/menu/MenuItem.js +71 -0
- package/src/components/menu/index.js +13 -0
- package/src/components/modal/Modal.js +153 -0
- package/src/components/modal/index.js +5 -0
- package/src/components/pagination/Pagination.js +229 -0
- package/src/components/pagination/index.js +5 -0
- package/src/components/popover/Popover.js +185 -0
- package/src/components/popover/PopoverFooter.js +37 -0
- package/src/components/popover/PopoverHeader.js +43 -0
- package/src/components/popover/index.js +10 -0
- package/src/components/progress/Progress.js +220 -0
- package/src/components/progress/index.js +6 -0
- package/src/components/skeleton/Skeleton.js +98 -0
- package/src/components/skeleton/SkeletonCard.js +0 -0
- package/src/components/skeleton/SkeletonList.js +0 -0
- package/src/components/skeleton/SkeletonParagraph.js +0 -0
- package/src/components/skeleton/SkeletonTable.js +0 -0
- package/src/components/skeleton/index.js +6 -0
- package/src/components/slider/Slider.js +183 -0
- package/src/components/slider/index.js +5 -0
- package/src/components/spinner/Spinner.js +160 -0
- package/src/components/spinner/index.js +5 -0
- package/src/components/splitter/Splitter.js +94 -0
- package/src/components/splitter/SplitterGutter.js +57 -0
- package/src/components/splitter/SplitterPanel.js +82 -0
- package/src/components/splitter/index.js +8 -0
- package/src/components/stepper/Stepper.js +229 -0
- package/src/components/stepper/StepperStep.js +103 -0
- package/src/components/stepper/index.js +8 -0
- package/src/components/switch/Switch.js +99 -0
- package/src/components/switch/index.js +0 -0
- package/src/components/table/SimpleTable.js +36 -32
- package/src/components/tabs/Tabs.js +110 -0
- package/src/components/tabs/index.js +6 -0
- package/src/components/toast/Toast.js +129 -0
- package/src/components/toast/ToastError.js +0 -0
- package/src/components/toast/ToastInfo.js +0 -0
- package/src/components/toast/ToastSuccess.js +0 -0
- package/src/components/toast/ToastWarning.js +0 -0
- package/src/components/toast/index.js +5 -0
- package/src/components/tooltip/Tooltip.js +98 -0
- package/src/components/tooltip/index.js +5 -0
- package/src/components/tooltip/prototypes.js +6 -0
- package/src/core/data/MemoryManager.js +1 -2
- package/src/core/data/Observable.js +1 -1
- package/src/core/data/ObservableArray.js +10 -4
- package/src/core/data/ObservableItem.js +5 -5
- package/src/core/data/observable-helpers/array.js +1 -1
- package/src/core/data/observable-helpers/batch.js +1 -1
- package/src/core/data/observable-helpers/computed.js +1 -1
- package/src/core/elements/control/for-each-array.js +37 -64
- package/src/core/elements/control/for-each.js +1 -1
- package/src/core/elements/control/show-if.js +1 -1
- package/src/core/elements/control/switch.js +1 -1
- package/src/core/utils/events.js +68 -0
- package/src/core/utils/filters/standard.js +1 -1
- package/src/core/utils/filters/utils.js +1 -1
- package/src/core/utils/helpers.js +10 -7
- package/src/core/utils/validator.js +1 -0
- package/src/core/wrappers/AttributesWrapper.js +18 -35
- package/src/core/wrappers/DocumentObserver.js +0 -1
- package/src/core/wrappers/ElementCreator.js +6 -11
- package/src/core/wrappers/NdPrototype.js +24 -31
- package/src/core/wrappers/TemplateCloner.js +60 -18
- package/src/core/wrappers/constants.js +32 -1
- package/src/core/wrappers/prototypes/attributes-extensions.js +16 -3
- package/src/core/wrappers/prototypes/bind-class-extensions.js +18 -0
- package/src/devtools/app/App.js +1 -1
- package/src/devtools/hrm/ComponentRegistry.js +1 -1
- package/src/router/Router.js +1 -1
- package/src/router/link.js +4 -4
- package/src/router/modes/HistoryRouter.js +0 -1
- package/types/control-flow.d.ts +0 -1
- package/types/filters/standard.d.ts +0 -1
- package/src/components/fom-control/default/DefaultLayout.js +0 -8
- package/src/components/fom-control/default/collection/DefaultCollectionLayout.js +0 -12
- package/src/components/fom-control/default/collection/DefaultCollectionTemplate.js +0 -6
- package/src/components/fom-control/field/types/CheckboxField.js +0 -17
- package/src/components/fom-control/field/types/HiddenField.js +0 -8
- package/src/components/fom-control/index.js +0 -8
- /package/src/components/{fom-control → form}/field/FieldFactory.js +0 -0
- /package/src/components/{fom-control → form}/merge +0 -0
- /package/src/components/{fom-control → form}/utils.js +0 -0
- /package/src/components/{fom-control → form}/validation/Validation.js +0 -0
- /package/src/{core → router}/errors/RouterError.js +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {ElementCreator} from "./ElementCreator";
|
|
2
2
|
import {createTextNode} from "./HtmlElementWrapper";
|
|
3
|
-
import Anchor from "../elements/anchor";
|
|
4
3
|
import TemplateBinding from "./TemplateBinding";
|
|
5
4
|
|
|
6
5
|
const cloneBindingsDataCache = new WeakMap();
|
|
@@ -11,7 +10,7 @@ const bindAttributes = (node, bindDingData, data) => {
|
|
|
11
10
|
if(bindDingData.attributes) {
|
|
12
11
|
attributes = {};
|
|
13
12
|
for (const attr in bindDingData.attributes) {
|
|
14
|
-
attributes[attr] = bindDingData.attributes[attr](
|
|
13
|
+
attributes[attr] = bindDingData.attributes[attr].apply(null, data);
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
16
|
|
|
@@ -19,7 +18,7 @@ const bindAttributes = (node, bindDingData, data) => {
|
|
|
19
18
|
attributes = attributes || {};
|
|
20
19
|
attributes.class = {};
|
|
21
20
|
for (const className in bindDingData.classes) {
|
|
22
|
-
attributes.class[className] = bindDingData.classes[className](
|
|
21
|
+
attributes.class[className] = bindDingData.classes[className].apply(null, data);
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
24
|
|
|
@@ -27,7 +26,7 @@ const bindAttributes = (node, bindDingData, data) => {
|
|
|
27
26
|
attributes = attributes || {};
|
|
28
27
|
attributes.style = {};
|
|
29
28
|
for (const property in bindDingData.styles) {
|
|
30
|
-
attributes.style[property] = bindDingData.styles[property](
|
|
29
|
+
attributes.style[property] = bindDingData.styles[property].apply(null, data);
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
|
|
@@ -39,6 +38,14 @@ const bindAttributes = (node, bindDingData, data) => {
|
|
|
39
38
|
return null;
|
|
40
39
|
};
|
|
41
40
|
|
|
41
|
+
const findByPath = (root, path) => {
|
|
42
|
+
let target = root;
|
|
43
|
+
for (let i = 0, len = path.length; i < len; i++) {
|
|
44
|
+
target = target.childNodes[path[i]];
|
|
45
|
+
}
|
|
46
|
+
return target;
|
|
47
|
+
};
|
|
48
|
+
|
|
42
49
|
const $hydrateFn = function(hydrateFunction, targetType, element, property) {
|
|
43
50
|
if(!cloneBindingsDataCache.has(element)) {
|
|
44
51
|
// { classes, styles, attributes, value, attach }
|
|
@@ -59,7 +66,7 @@ const bindAttachMethods = function(node, bindDingData, data) {
|
|
|
59
66
|
}
|
|
60
67
|
for(const methodName in bindDingData.attach) {
|
|
61
68
|
node.nd[methodName](function(...args) {
|
|
62
|
-
bindDingData.attach[methodName].
|
|
69
|
+
bindDingData.attach[methodName].apply(this, [...args, ...data]);
|
|
63
70
|
});
|
|
64
71
|
}
|
|
65
72
|
};
|
|
@@ -68,44 +75,78 @@ export function TemplateCloner($fn) {
|
|
|
68
75
|
let $node = null;
|
|
69
76
|
let $hasBindingData = false;
|
|
70
77
|
|
|
71
|
-
const
|
|
78
|
+
const $bindingPaths = [];
|
|
79
|
+
|
|
80
|
+
const clone = (node, data, path) => {
|
|
72
81
|
const bindDingData = cloneBindingsDataCache.get(node);
|
|
73
82
|
if(node.nodeType === 3) {
|
|
74
83
|
if(bindDingData && bindDingData.value) {
|
|
84
|
+
$bindingPaths.push({
|
|
85
|
+
path: [...path],
|
|
86
|
+
fn: (data, targetNode, currentRoot) => {
|
|
87
|
+
const newNode = bindDingData.value(data);
|
|
88
|
+
targetNode.replaceWith(newNode);
|
|
89
|
+
if (targetNode === currentRoot) {
|
|
90
|
+
return newNode;
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
75
95
|
return bindDingData.value(data);
|
|
76
96
|
}
|
|
77
97
|
return node.cloneNode(true);
|
|
78
98
|
}
|
|
79
99
|
const nodeCloned = node.cloneNode(node.fullCloneNode);
|
|
100
|
+
if(node.fullCloneNode) {
|
|
101
|
+
return nodeCloned;
|
|
102
|
+
}
|
|
80
103
|
if(bindDingData) {
|
|
81
104
|
bindAttributes(nodeCloned, bindDingData, data);
|
|
82
105
|
bindAttachMethods(nodeCloned, bindDingData, data);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
106
|
+
$bindingPaths.push({
|
|
107
|
+
path: [...path],
|
|
108
|
+
fn: (data, targetNode) => {
|
|
109
|
+
bindAttributes(targetNode, bindDingData, data);
|
|
110
|
+
bindAttachMethods(targetNode, bindDingData, data);
|
|
111
|
+
}
|
|
112
|
+
})
|
|
86
113
|
}
|
|
87
114
|
const childNodes = node.childNodes;
|
|
88
115
|
for(let i = 0, length = childNodes.length; i < length; i++) {
|
|
89
116
|
const childNode = childNodes[i];
|
|
90
|
-
|
|
117
|
+
path.push(i);
|
|
118
|
+
const childNodeCloned = clone(childNode, data, path);
|
|
119
|
+
path.pop();
|
|
91
120
|
nodeCloned.appendChild(childNodeCloned);
|
|
92
121
|
}
|
|
93
122
|
return nodeCloned;
|
|
94
123
|
};
|
|
95
124
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
125
|
+
const cloneWithBindingPaths = (data) => {
|
|
126
|
+
let root = $node.cloneNode(true);
|
|
127
|
+
|
|
128
|
+
for (let i = 0, len = $bindingPaths.length; i < len; i++) {
|
|
129
|
+
const binding = $bindingPaths[i];
|
|
130
|
+
const target = findByPath(root, binding.path);
|
|
131
|
+
const newRoot = binding.fn(data, target, root);
|
|
132
|
+
if(newRoot) {
|
|
133
|
+
root = newRoot;
|
|
103
134
|
}
|
|
104
135
|
}
|
|
136
|
+
|
|
137
|
+
return root;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
this.clone = (data) => {
|
|
141
|
+
$node = $fn(this);
|
|
105
142
|
if(!$hasBindingData) {
|
|
143
|
+
this.clone = () => $node.cloneNode(true);
|
|
106
144
|
return $node.cloneNode(true);
|
|
107
145
|
}
|
|
108
|
-
|
|
146
|
+
|
|
147
|
+
const firstClone = clone($node, data, []);
|
|
148
|
+
this.clone = cloneWithBindingPaths;
|
|
149
|
+
return firstClone;
|
|
109
150
|
};
|
|
110
151
|
|
|
111
152
|
|
|
@@ -164,3 +205,4 @@ export function useCache(fn) {
|
|
|
164
205
|
return wrapper([_, __, ...args]);
|
|
165
206
|
};
|
|
166
207
|
}
|
|
208
|
+
w
|
|
@@ -1,2 +1,33 @@
|
|
|
1
1
|
|
|
2
|
-
export const BOOLEAN_ATTRIBUTES = [
|
|
2
|
+
export const BOOLEAN_ATTRIBUTES = new Set([
|
|
3
|
+
'checked',
|
|
4
|
+
'selected',
|
|
5
|
+
'disabled',
|
|
6
|
+
'readonly',
|
|
7
|
+
'required',
|
|
8
|
+
'autofocus',
|
|
9
|
+
'multiple',
|
|
10
|
+
'autocomplete',
|
|
11
|
+
'hidden',
|
|
12
|
+
'contenteditable',
|
|
13
|
+
'spellcheck',
|
|
14
|
+
'translate',
|
|
15
|
+
'draggable',
|
|
16
|
+
'async',
|
|
17
|
+
'defer',
|
|
18
|
+
'autoplay',
|
|
19
|
+
'controls',
|
|
20
|
+
'loop',
|
|
21
|
+
'muted',
|
|
22
|
+
'download',
|
|
23
|
+
'reversed',
|
|
24
|
+
'open',
|
|
25
|
+
'default',
|
|
26
|
+
'formnovalidate',
|
|
27
|
+
'novalidate',
|
|
28
|
+
'scoped',
|
|
29
|
+
'itemscope',
|
|
30
|
+
'allowfullscreen',
|
|
31
|
+
'allowpaymentrequest',
|
|
32
|
+
'playsinline'
|
|
33
|
+
]);
|
|
@@ -1,17 +1,30 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {bindAttributeWithObservable, bindBooleanAttribute} from "../AttributesWrapper";
|
|
2
2
|
import ObservableItem from "../../data/ObservableItem";
|
|
3
3
|
import TemplateBinding from "../TemplateBinding";
|
|
4
|
-
|
|
4
|
+
import {BOOLEAN_ATTRIBUTES} from "../constants";
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
String.prototype.handleNdAttribute = function(element, attributeName) {
|
|
8
8
|
element.setAttribute(attributeName, this);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
+
Number.prototype.handleNdAttribute = function(element, attributeName) {
|
|
12
|
+
element.setAttribute(attributeName, this);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
Boolean.prototype.handleNdAttribute = function(element, attrName) {
|
|
16
|
+
bindBooleanAttribute(element, attrName, this);
|
|
17
|
+
};
|
|
18
|
+
|
|
11
19
|
ObservableItem.prototype.handleNdAttribute = function(element, attributeName) {
|
|
20
|
+
if(BOOLEAN_ATTRIBUTES.has(attributeName)) {
|
|
21
|
+
bindBooleanAttribute(element, attributeName, this);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
12
25
|
bindAttributeWithObservable(element, attributeName, this);
|
|
13
26
|
};
|
|
14
27
|
|
|
15
28
|
TemplateBinding.prototype.handleNdAttribute = function(element, attributeName) {
|
|
16
29
|
this.$hydrate(element, attributeName);
|
|
17
|
-
};
|
|
30
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import ObservableItem from "../../../core/data/ObservableItem";
|
|
2
|
+
import {toggleElementClass} from "../AttributesWrapper";
|
|
3
|
+
import {ObservableWhen} from "../../data/ObservableWhen";
|
|
4
|
+
import TemplateBinding from "../../../core/wrappers/TemplateBinding";
|
|
5
|
+
|
|
6
|
+
ObservableItem.prototype.bindNdClass = function(element, className) {
|
|
7
|
+
element.classes.toggle(className, this.val());
|
|
8
|
+
this.subscribe(toggleElementClass.bind(null, element, className));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
ObservableWhen.prototype.bindNdClass = function(element, className) {
|
|
12
|
+
element.classes.toggle(className, this.isMath());
|
|
13
|
+
this.subscribe(toggleElementClass.bind(null, element, className));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
TemplateBinding.prototype.bindNdClass = function(element, className) {
|
|
17
|
+
this.$hydrate(element, className);
|
|
18
|
+
};
|
package/src/devtools/app/App.js
CHANGED
package/src/router/Router.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {Route} from "./Route.js";
|
|
2
2
|
import Validator from "../core/utils/validator.js";
|
|
3
|
-
import RouterError from "
|
|
3
|
+
import RouterError from "./errors/RouterError.js";
|
|
4
4
|
import {RouteGroupHelper} from "./RouteGroupHelper.js";
|
|
5
5
|
import {trim} from "../core/utils/helpers.js";
|
|
6
6
|
import HashRouter from "./modes/HashRouter.js";
|
package/src/router/link.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Validator from "../core/utils/validator
|
|
2
|
-
import {Link as NativeLink} from "../../elements
|
|
3
|
-
import Router, {DEFAULT_ROUTER_NAME} from "./Router
|
|
4
|
-
import RouterError from "
|
|
1
|
+
import Validator from "../core/utils/validator";
|
|
2
|
+
import {Link as NativeLink} from "../../elements";
|
|
3
|
+
import Router, {DEFAULT_ROUTER_NAME} from "./Router";
|
|
4
|
+
import RouterError from "./errors/RouterError";
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
export function Link(options, children){
|
package/types/control-flow.d.ts
CHANGED
|
@@ -37,7 +37,6 @@ export interface ForEachFunction {
|
|
|
37
37
|
export interface ForEachArrayFunction {
|
|
38
38
|
<T>(data: ObservableArray<T>,
|
|
39
39
|
callback: (item: T, index?: ObservableItem<number>) => ValidChild,
|
|
40
|
-
key?: string | ((item: T, defaultKey: number) => string),
|
|
41
40
|
configs?: { pushDelay?: (items: T[]) => number, isParentUniqueChild: boolean, shouldKeepItemsInCache?: boolean }): DocumentFragment;
|
|
42
41
|
}
|
|
43
42
|
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import {Button} from "../../../../../elements";
|
|
2
|
-
|
|
3
|
-
export default function DefaultCollectionLayout({collection, data, Template}) {
|
|
4
|
-
|
|
5
|
-
return Div({ class: 'field-collection-layout'}, [
|
|
6
|
-
Div({ class: 'field-collection-layout-header'}, [
|
|
7
|
-
Button({ class: 'field-collection-layout-add-btn', type: 'button' }, ['Add +'])
|
|
8
|
-
.nd.onClick(() => collection.add())
|
|
9
|
-
]),
|
|
10
|
-
ForEachArray(data, Template)
|
|
11
|
-
]);
|
|
12
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import Field from "../Field";
|
|
2
|
-
|
|
3
|
-
export default function CheckboxField(name, defaultConfig) {
|
|
4
|
-
Field.call(this, name, 'checkbox', defaultConfig);
|
|
5
|
-
|
|
6
|
-
Object.assign(this.$description, {
|
|
7
|
-
checked: false,
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
CheckboxField.prototype = Object.create(Field.prototype);
|
|
12
|
-
CheckboxField.prototype.constructor = CheckboxField;
|
|
13
|
-
|
|
14
|
-
CheckboxField.prototype.checked = function(value) {
|
|
15
|
-
this.$description.checked = value;
|
|
16
|
-
return this;
|
|
17
|
-
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|