@wavemaker/app-ng-runtime 11.14.2-rc.6311 → 11.15.0-1.246
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/build-task/bundles/index.umd.js +13 -2
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +9 -2
- package/build-task/esm2022/input/default/radioset/radioset.build.mjs +6 -2
- package/build-task/fesm2022/index.mjs +13 -2
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/base/bundles/index.umd.js +271 -128
- package/components/base/esm2022/public_api.mjs +2 -2
- package/components/base/esm2022/utils/autolayout-utils.mjs +252 -0
- package/components/base/esm2022/utils/live-utils.mjs +10 -7
- package/components/base/esm2022/utils/widget-utils.mjs +8 -1
- package/components/base/esm2022/widgets/common/base/base.component.mjs +7 -8
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +4 -1
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +28 -150
- package/components/base/esm2022/widgets/common/container/container.props.mjs +6 -2
- package/components/base/fesm2022/index.mjs +273 -129
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/public_api.d.ts +1 -1
- package/components/base/utils/autolayout-utils.d.ts +29 -0
- package/components/base/utils/widget-utils.d.ts +1 -0
- package/components/base/widgets/common/container/container.directive.d.ts +7 -9
- package/components/basic/label/bundles/index.umd.js +4 -0
- package/components/basic/label/esm2022/label.directive.mjs +5 -1
- package/components/basic/label/fesm2022/index.mjs +4 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/bundles/index.umd.js +13 -11
- package/components/basic/search/esm2022/search.component.mjs +14 -12
- package/components/basic/search/fesm2022/index.mjs +13 -11
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/chart/bundles/index.umd.js +2 -2
- package/components/chart/esm2022/chart.utils.mjs +3 -3
- package/components/chart/fesm2022/index.mjs +2 -2
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -0
- package/components/containers/accordion/accordion.directive.d.ts +4 -0
- package/components/containers/accordion/bundles/index.umd.js +34 -0
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +6 -2
- package/components/containers/accordion/esm2022/accordion.directive.mjs +32 -2
- package/components/containers/accordion/fesm2022/index.mjs +36 -2
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/bundles/index.umd.js +34 -0
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +6 -2
- package/components/containers/tabs/esm2022/tabs.component.mjs +33 -4
- package/components/containers/tabs/fesm2022/index.mjs +36 -2
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -0
- package/components/containers/tabs/tabs.component.d.ts +5 -1
- package/components/containers/wizard/bundles/index.umd.js +46 -2
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +8 -2
- package/components/containers/wizard/esm2022/wizard.component.mjs +42 -4
- package/components/containers/wizard/fesm2022/index.mjs +48 -4
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +4 -0
- package/components/containers/wizard/wizard.component.d.ts +1 -0
- package/components/data/form/bundles/index.umd.js +28 -1
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +4 -1
- package/components/data/form/esm2022/form.component.mjs +24 -2
- package/components/data/form/esm2022/form.props.mjs +3 -2
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +2 -1
- package/components/data/form/fesm2022/index.mjs +29 -2
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/form.component.d.ts +3 -0
- package/components/data/list/bundles/index.umd.js +0 -9
- package/components/data/list/esm2022/list-item.directive.mjs +1 -10
- package/components/data/list/fesm2022/index.mjs +0 -9
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/bundles/index.umd.js +6 -2
- package/components/data/pagination/esm2022/pagination.component.mjs +7 -3
- package/components/data/pagination/fesm2022/index.mjs +6 -2
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/table/bundles/index.umd.js +21 -4
- package/components/data/table/esm2022/table.component.mjs +22 -5
- package/components/data/table/fesm2022/index.mjs +21 -4
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +6 -2
- package/components/dialogs/alert-dialog/bundles/index.umd.js +18 -8
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +17 -7
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +15 -5
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/bundles/index.umd.js +12 -3
- package/components/input/checkbox/checkbox.component.d.ts +2 -0
- package/components/input/checkbox/esm2022/checkbox.component.mjs +9 -3
- package/components/input/checkbox/esm2022/checkbox.props.mjs +5 -2
- package/components/input/checkbox/fesm2022/index.mjs +12 -3
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/bundles/index.umd.js +12 -1
- package/components/input/checkboxset/checkboxset.component.d.ts +1 -0
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +11 -1
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +3 -2
- package/components/input/checkboxset/fesm2022/index.mjs +12 -1
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/base-date-time/base-date-time.component.d.ts +0 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +29 -27
- package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +30 -28
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +29 -27
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/bundles/index.umd.js +4 -3
- package/components/input/epoch/date/esm2022/date.component.mjs +5 -4
- package/components/input/epoch/date/fesm2022/index.mjs +4 -3
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time/bundles/index.umd.js +5 -4
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +7 -6
- package/components/input/epoch/date-time/fesm2022/index.mjs +6 -5
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/bundles/index.umd.js +1 -1
- package/components/input/file-upload/esm2022/file-upload.props.mjs +2 -2
- package/components/input/file-upload/fesm2022/index.mjs +1 -1
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/bundles/index.umd.js +13 -1
- package/components/input/radioset/esm2022/radioset.component.mjs +11 -1
- package/components/input/radioset/esm2022/radioset.props.mjs +4 -2
- package/components/input/radioset/fesm2022/index.mjs +13 -1
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/radioset.component.d.ts +1 -0
- package/components/input/slider/bundles/index.umd.js +86 -16
- package/components/input/slider/esm2022/slider.component.mjs +76 -9
- package/components/input/slider/esm2022/slider.props.mjs +5 -1
- package/components/input/slider/fesm2022/index.mjs +79 -8
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/slider.component.d.ts +12 -3
- package/components/input/text/bundles/index.umd.js +24 -3
- package/components/input/text/esm2022/input-text/input-text.component.mjs +6 -3
- package/components/input/text/esm2022/input-text/input-text.props.mjs +5 -2
- package/components/input/text/esm2022/number-locale/number-locale.mjs +16 -1
- package/components/input/text/fesm2022/index.mjs +24 -3
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/input-text/input-text.component.d.ts +4 -0
- package/components/input/text/number-locale/number-locale.d.ts +12 -0
- package/components/navigation/breadcrumb/bundles/index.umd.js +2 -2
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs +2 -2
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/bundles/index.umd.js +12 -0
- package/components/navigation/popover/esm2022/popover.component.mjs +13 -1
- package/components/navigation/popover/fesm2022/index.mjs +12 -0
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/popover.component.d.ts +2 -0
- package/components/page/default/bundles/index.umd.js +0 -4
- package/components/page/default/esm2022/router-outlet.directive.mjs +1 -5
- package/components/page/default/fesm2022/index.mjs +0 -4
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/header/bundles/index.umd.js +4 -3
- package/components/page/header/esm2022/header.component.mjs +5 -4
- package/components/page/header/fesm2022/index.mjs +4 -3
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/header.component.d.ts +2 -1
- package/core/bundles/index.umd.js +90 -6
- package/core/enums/enums.d.ts +1 -0
- package/core/esm2022/enums/enums.mjs +2 -1
- package/core/esm2022/utils/build-utils.mjs +5 -1
- package/core/esm2022/utils/utils.mjs +5 -2
- package/core/esm2022/utils/watcher.mjs +83 -4
- package/core/fesm2022/index.mjs +91 -4
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/utils/watcher.d.ts +2 -0
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/esm2022/oAuth.service.mjs +1 -1
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/oAuth.service.d.ts +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +33 -31
- package/runtime/base/components/base-prefab.component.d.ts +6 -4
- package/runtime/base/esm2022/components/app-component/app.component.mjs +1 -1
- package/runtime/base/esm2022/components/base-page.component.mjs +2 -5
- package/runtime/base/esm2022/components/base-partial.component.mjs +2 -2
- package/runtime/base/esm2022/components/base-prefab.component.mjs +20 -12
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +1 -4
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +14 -13
- package/runtime/base/fesm2022/index.mjs +34 -31
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/runtime-base.module.d.ts +2 -1
- package/runtime/dynamic/app/app.config.d.ts +1 -1
- package/runtime/dynamic/bundles/index.umd.js +1 -1
- package/runtime/dynamic/esm2022/app/app.config.mjs +7 -7
- package/runtime/dynamic/fesm2022/index.mjs +2 -2
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +17 -15
|
@@ -517,6 +517,13 @@
|
|
|
517
517
|
&& (!el.hasAttribute('tabindex') || (el.hasAttribute('tabindex') && !el.getAttribute("tabindex").startsWith('-'))));
|
|
518
518
|
});
|
|
519
519
|
};
|
|
520
|
+
const getCurrentWidgets = (element, widgets) => {
|
|
521
|
+
const componentElements = Array.from(element.querySelectorAll('[widget-id]'));
|
|
522
|
+
return Object.assign(widgets, componentElements.reduce((result, comp) => {
|
|
523
|
+
result[comp.widget.name] = comp.widget;
|
|
524
|
+
return result;
|
|
525
|
+
}, {}));
|
|
526
|
+
};
|
|
520
527
|
|
|
521
528
|
const noop = () => { };
|
|
522
529
|
exports.Live_Operations = void 0;
|
|
@@ -1626,7 +1633,7 @@
|
|
|
1626
1633
|
};
|
|
1627
1634
|
};
|
|
1628
1635
|
const getDefaultViewModeWidget = widget => {
|
|
1629
|
-
if (lodashEs.includes(['checkbox', 'toggle', 'rating'], widget)) {
|
|
1636
|
+
if (lodashEs.includes(['checkbox', 'toggle', 'iconbutton-toggle', 'rating'], widget)) {
|
|
1630
1637
|
return VIEW_MODE_OPTIONS.DEFAULT;
|
|
1631
1638
|
}
|
|
1632
1639
|
return VIEW_MODE_OPTIONS.LABEL;
|
|
@@ -1645,16 +1652,19 @@
|
|
|
1645
1652
|
};
|
|
1646
1653
|
const parseValueByType = (value, type, widget, trailingzero) => {
|
|
1647
1654
|
if (widget) {
|
|
1648
|
-
if (widget === i1.FormWidgetType.
|
|
1655
|
+
if (widget === i1.FormWidgetType.SLIDER || widget === i1.FormWidgetType.CURRENCY) {
|
|
1649
1656
|
return isNaN(Number(value)) ? null : trailingzero ? value : Number(value);
|
|
1650
1657
|
}
|
|
1651
|
-
if (widget === i1.FormWidgetType.
|
|
1658
|
+
if (widget === i1.FormWidgetType.NUMBER) {
|
|
1659
|
+
return (isNaN(Number(value)) || value == null) ? null : trailingzero ? value : Number(value);
|
|
1660
|
+
}
|
|
1661
|
+
if (widget === i1.FormWidgetType.CHECKBOX || widget === i1.FormWidgetType.TOGGLE || widget === i1.FormWidgetType.ICONBUTTONTOGGLE) {
|
|
1652
1662
|
return parseBooleanValue(value);
|
|
1653
1663
|
}
|
|
1654
1664
|
return value;
|
|
1655
1665
|
}
|
|
1656
1666
|
if (i1.isNumberType(type)) {
|
|
1657
|
-
return isNaN(Number(value)) ? null : Number(value);
|
|
1667
|
+
return (isNaN(Number(value)) || value == null) ? null : Number(value);
|
|
1658
1668
|
}
|
|
1659
1669
|
if (type === i1.DataType.BOOLEAN) {
|
|
1660
1670
|
return parseBooleanValue(value);
|
|
@@ -1678,7 +1688,7 @@
|
|
|
1678
1688
|
'time': ['time', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],
|
|
1679
1689
|
'timestamp': ['timestamp', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],
|
|
1680
1690
|
'datetime': ['datetime', 'text', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],
|
|
1681
|
-
'boolean': ['checkbox', 'radioset', 'toggle', 'select'],
|
|
1691
|
+
'boolean': ['checkbox', 'radioset', 'toggle', 'iconbutton-toggle', 'select'],
|
|
1682
1692
|
'list': ['select', 'radioset', 'checkboxset', 'switch', 'autocomplete', 'chips'],
|
|
1683
1693
|
'clob': ['text', 'textarea', 'richtext'],
|
|
1684
1694
|
'blob': ['upload'],
|
|
@@ -1736,7 +1746,7 @@
|
|
|
1736
1746
|
if (widget === i1.FormWidgetType.NUMBER || widget === i1.FormWidgetType.SLIDER || widget === i1.FormWidgetType.CURRENCY) {
|
|
1737
1747
|
return isNaN(Number(value)) ? null : Number(value);
|
|
1738
1748
|
}
|
|
1739
|
-
if (widget === i1.FormWidgetType.CHECKBOX || widget === i1.FormWidgetType.TOGGLE) {
|
|
1749
|
+
if (widget === i1.FormWidgetType.CHECKBOX || widget === i1.FormWidgetType.TOGGLE || widget === i1.FormWidgetType.ICONBUTTONTOGGLE) {
|
|
1740
1750
|
return parseBooleanValue(value);
|
|
1741
1751
|
}
|
|
1742
1752
|
return value;
|
|
@@ -2535,8 +2545,9 @@
|
|
|
2535
2545
|
const errorMessage = e.message || String(e);
|
|
2536
2546
|
console.error(`Error executing event callback "${eventName}" on widget "${widgetName}":`, errorMessage);
|
|
2537
2547
|
console.error('Event expression context:', { eventName, widgetName, locals });
|
|
2538
|
-
//
|
|
2539
|
-
|
|
2548
|
+
// Don't re-throw - allow execution to continue (e.g., navigation should still work)
|
|
2549
|
+
// Return undefined to indicate error was handled
|
|
2550
|
+
return undefined;
|
|
2540
2551
|
}
|
|
2541
2552
|
};
|
|
2542
2553
|
if (child && !child.widget.eventHandlers)
|
|
@@ -2598,8 +2609,9 @@
|
|
|
2598
2609
|
const errorMessage = error?.message || String(error);
|
|
2599
2610
|
console.error(`Error executing event callback "${eventName}" on widget "${widgetName}":`, errorMessage);
|
|
2600
2611
|
console.error('Full error:', error);
|
|
2601
|
-
//
|
|
2602
|
-
|
|
2612
|
+
// Don't re-throw - allow execution to continue (e.g., navigation should still work)
|
|
2613
|
+
// Return undefined to indicate error was handled
|
|
2614
|
+
return undefined;
|
|
2603
2615
|
}
|
|
2604
2616
|
}
|
|
2605
2617
|
}
|
|
@@ -2822,9 +2834,6 @@
|
|
|
2822
2834
|
// This ensures all watchers registered for this component are cleaned up
|
|
2823
2835
|
if (this.widgetId) {
|
|
2824
2836
|
i1.$unwatchAll(this.widgetId);
|
|
2825
|
-
// if (removedCount > 0) {
|
|
2826
|
-
// console.log(`🧹 Cleaned up ${removedCount} watcher(s) for widget ${this.widgetId}`);
|
|
2827
|
-
// }
|
|
2828
2837
|
}
|
|
2829
2838
|
// MEMORY LEAK FIX: Clear context to release references to parent scope data
|
|
2830
2839
|
// The context object holds references to repeater items, wizard steps, etc.
|
|
@@ -3234,6 +3243,9 @@
|
|
|
3234
3243
|
this.renderPartial = lodashEs.debounce(this._renderPartial, 200);
|
|
3235
3244
|
componentInstance.registerPropertyChangeListener((key, nv, ov) => {
|
|
3236
3245
|
if (key === 'content') {
|
|
3246
|
+
if ('isInlineContent' in componentInstance) {
|
|
3247
|
+
componentInstance.isInlineContent = !(nv && nv !== '');
|
|
3248
|
+
}
|
|
3237
3249
|
if (componentInstance.$lazyLoad) {
|
|
3238
3250
|
componentInstance.$lazyLoad = () => {
|
|
3239
3251
|
this.renderPartial(nv);
|
|
@@ -5038,94 +5050,53 @@
|
|
|
5038
5050
|
['alignment', PROP_STRING],
|
|
5039
5051
|
['gap', PROP_STRING],
|
|
5040
5052
|
['wrap', PROP_BOOLEAN],
|
|
5041
|
-
['columngap', PROP_STRING]
|
|
5053
|
+
['columngap', PROP_STRING],
|
|
5054
|
+
['clipcontent', PROP_STRING],
|
|
5055
|
+
['position', PROP_STRING],
|
|
5056
|
+
['overflow', PROP_STRING],
|
|
5057
|
+
['zindex', PROP_STRING],
|
|
5042
5058
|
]));
|
|
5043
5059
|
};
|
|
5044
5060
|
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
hostClass: DEFAULT_CLS
|
|
5049
|
-
};
|
|
5050
|
-
// Alignment matrix (assumes direction: 'row' as base)
|
|
5051
|
-
const alignmentMatrix = {
|
|
5052
|
-
'top-left': { justifyContent: 'flex-start', alignItems: 'flex-start' },
|
|
5053
|
-
'top-center': { justifyContent: 'center', alignItems: 'flex-start' },
|
|
5054
|
-
'top-right': { justifyContent: 'flex-end', alignItems: 'flex-start' },
|
|
5055
|
-
'middle-left': { justifyContent: 'flex-start', alignItems: 'center' },
|
|
5056
|
-
'middle-center': { justifyContent: 'center', alignItems: 'center' },
|
|
5057
|
-
'middle-right': { justifyContent: 'flex-end', alignItems: 'center' },
|
|
5058
|
-
'bottom-left': { justifyContent: 'flex-start', alignItems: 'flex-end' },
|
|
5059
|
-
'bottom-center': { justifyContent: 'center', alignItems: 'flex-end' },
|
|
5060
|
-
'bottom-right': { justifyContent: 'flex-end', alignItems: 'flex-end' },
|
|
5061
|
-
'start': { justifyContent: 'space-between', alignItems: 'flex-start' },
|
|
5062
|
-
'center': { justifyContent: 'space-between', alignItems: 'center' },
|
|
5063
|
-
'end': { justifyContent: 'space-between', alignItems: 'flex-end' }
|
|
5064
|
-
};
|
|
5065
|
-
class ContainerDirective extends BaseContainerComponent {
|
|
5066
|
-
static { this.initializeProps = registerProps(); }
|
|
5067
|
-
constructor(inj, explicitContext) {
|
|
5068
|
-
super(inj, WIDGET_CONFIG, explicitContext);
|
|
5061
|
+
class AutoLayoutUtils {
|
|
5062
|
+
constructor() {
|
|
5063
|
+
this.direction = 'row';
|
|
5069
5064
|
this.hasWrap = false;
|
|
5070
|
-
|
|
5071
|
-
|
|
5065
|
+
this.alignment = 'top-left';
|
|
5066
|
+
// Alignment matrix
|
|
5067
|
+
this.alignmentMatrix = {
|
|
5068
|
+
'top-left': { justifyContent: 'flex-start', alignItems: 'flex-start' },
|
|
5069
|
+
'top-center': { justifyContent: 'center', alignItems: 'flex-start' },
|
|
5070
|
+
'top-right': { justifyContent: 'flex-end', alignItems: 'flex-start' },
|
|
5071
|
+
'middle-left': { justifyContent: 'flex-start', alignItems: 'center' },
|
|
5072
|
+
'middle-center': { justifyContent: 'center', alignItems: 'center' },
|
|
5073
|
+
'middle-right': { justifyContent: 'flex-end', alignItems: 'center' },
|
|
5074
|
+
'bottom-left': { justifyContent: 'flex-start', alignItems: 'flex-end' },
|
|
5075
|
+
'bottom-center': { justifyContent: 'center', alignItems: 'flex-end' },
|
|
5076
|
+
'bottom-right': { justifyContent: 'flex-end', alignItems: 'flex-end' },
|
|
5077
|
+
'start': { justifyContent: 'space-between', alignItems: 'flex-start' },
|
|
5078
|
+
'center': { justifyContent: 'space-between', alignItems: 'center' },
|
|
5079
|
+
'end': { justifyContent: 'space-between', alignItems: 'flex-end' }
|
|
5080
|
+
};
|
|
5072
5081
|
}
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
this.applyAlignment(this.alignment);
|
|
5081
|
-
break;
|
|
5082
|
-
case 'wrap':
|
|
5083
|
-
this.hasWrap = nv;
|
|
5084
|
-
this.$element.css('flex-wrap', nv ? 'wrap' : 'nowrap');
|
|
5085
|
-
break;
|
|
5086
|
-
case 'alignment':
|
|
5087
|
-
if (nv) {
|
|
5088
|
-
this.alignment = nv;
|
|
5089
|
-
this.applyAlignment(nv);
|
|
5090
|
-
}
|
|
5091
|
-
break;
|
|
5092
|
-
case 'gap':
|
|
5093
|
-
case 'columngap':
|
|
5094
|
-
setTimeout(() => {
|
|
5095
|
-
this.applySpacing(nv, key);
|
|
5096
|
-
});
|
|
5097
|
-
break;
|
|
5098
|
-
}
|
|
5099
|
-
super.onPropertyChange(key, nv, ov);
|
|
5082
|
+
/** Apply direction (row/column) */
|
|
5083
|
+
applyDirection(direction) {
|
|
5084
|
+
this.direction = direction;
|
|
5085
|
+
if (direction === 'column')
|
|
5086
|
+
this.hasWrap = false;
|
|
5087
|
+
this.$element.css({ display: 'flex', flexDirection: direction });
|
|
5088
|
+
this.applyAlignment(this.alignment);
|
|
5100
5089
|
}
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
}
|
|
5106
|
-
if (nv === 'fill') {
|
|
5107
|
-
if (key === 'width')
|
|
5108
|
-
this.$element.css('width', '100%');
|
|
5109
|
-
if (key === 'height') {
|
|
5110
|
-
const parentElement = this.nativeElement.parentElement;
|
|
5111
|
-
if (parentElement?.hasAttribute('wmcontainer')) {
|
|
5112
|
-
this.$element.css({ 'align-self': 'stretch', 'flex-grow': '1' });
|
|
5113
|
-
}
|
|
5114
|
-
else {
|
|
5115
|
-
this.$element.css('height', '100%');
|
|
5116
|
-
}
|
|
5117
|
-
}
|
|
5118
|
-
}
|
|
5119
|
-
else if (nv === 'hug') {
|
|
5120
|
-
if (key === 'width')
|
|
5121
|
-
this.$element.css('width', 'fit-content');
|
|
5122
|
-
if (key === 'height')
|
|
5123
|
-
this.$element.css('height', 'fit-content');
|
|
5124
|
-
}
|
|
5125
|
-
super.onStyleChange(key, nv, ov);
|
|
5090
|
+
/** Apply wrapping */
|
|
5091
|
+
applyWrap(wrap) {
|
|
5092
|
+
this.hasWrap = wrap;
|
|
5093
|
+
this.$element.css('flex-wrap', wrap ? 'wrap' : 'nowrap');
|
|
5126
5094
|
}
|
|
5095
|
+
/** Apply alignment based on direction */
|
|
5127
5096
|
applyAlignment(alignmentKey) {
|
|
5128
|
-
|
|
5097
|
+
if (!alignmentKey)
|
|
5098
|
+
return;
|
|
5099
|
+
const base = this.alignmentMatrix[alignmentKey];
|
|
5129
5100
|
if (!base)
|
|
5130
5101
|
return;
|
|
5131
5102
|
const isRow = this.direction === 'row';
|
|
@@ -5134,80 +5105,251 @@
|
|
|
5134
5105
|
this.$element.css({
|
|
5135
5106
|
display: 'flex',
|
|
5136
5107
|
'flex-wrap': this.hasWrap ? 'wrap' : 'nowrap',
|
|
5137
|
-
justifyContent
|
|
5138
|
-
alignItems
|
|
5108
|
+
justifyContent,
|
|
5109
|
+
alignItems
|
|
5139
5110
|
});
|
|
5140
5111
|
}
|
|
5141
|
-
|
|
5112
|
+
/** Apply spacing for gap + column gap */
|
|
5113
|
+
applySpacing(key, nv) {
|
|
5114
|
+
const base = this.alignmentMatrix[this.alignment];
|
|
5115
|
+
if (!base)
|
|
5116
|
+
return;
|
|
5117
|
+
const gapValue = key === 'gap' ? nv : this.gap;
|
|
5118
|
+
const colValue = key === 'columngap' ? nv : this.columngap;
|
|
5142
5119
|
const isRow = this.direction === 'row';
|
|
5143
|
-
const
|
|
5144
|
-
const
|
|
5145
|
-
|
|
5146
|
-
const gap = key === 'gap' ? nv : this.gap;
|
|
5147
|
-
const columngap = key === 'columngap' ? nv : this.columngap;
|
|
5148
|
-
const hasWrap = this.hasWrap;
|
|
5149
|
-
// Default gap values
|
|
5150
|
-
const colVal = (columngap && columngap !== 'auto') ? (columngap) : null;
|
|
5151
|
-
const gapVal = (gap && gap !== 'auto') ? (gap) : null;
|
|
5152
|
-
const rowVal = hasWrap ? gapVal : null;
|
|
5120
|
+
const gapVal = (gapValue && gapValue !== 'auto') ? gapValue : null;
|
|
5121
|
+
const colVal = (colValue && colValue !== 'auto') ? colValue : null;
|
|
5122
|
+
const rowVal = this.hasWrap && gapVal ? gapVal : null;
|
|
5153
5123
|
let justifyContent = isRow ? base.justifyContent : base.alignItems;
|
|
5154
5124
|
let alignItems = isRow ? base.alignItems : base.justifyContent;
|
|
5155
|
-
//
|
|
5156
|
-
if (!hasWrap) {
|
|
5157
|
-
if (
|
|
5158
|
-
|
|
5125
|
+
// ————— NO WRAP —————
|
|
5126
|
+
if (!this.hasWrap) {
|
|
5127
|
+
if (gapValue === 'auto') {
|
|
5128
|
+
this.$element.css({
|
|
5159
5129
|
'justify-content': base.justifyContent,
|
|
5160
5130
|
'align-items': base.alignItems
|
|
5161
5131
|
});
|
|
5162
5132
|
}
|
|
5163
5133
|
else {
|
|
5164
|
-
|
|
5134
|
+
this.$element.css({
|
|
5165
5135
|
'justify-content': justifyContent,
|
|
5166
5136
|
'align-items': alignItems,
|
|
5167
5137
|
gap: `${gapVal}px`
|
|
5168
5138
|
});
|
|
5169
5139
|
}
|
|
5170
5140
|
}
|
|
5171
|
-
//
|
|
5141
|
+
// ————— WRAP LOGIC —————
|
|
5172
5142
|
else {
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
el.css({
|
|
5143
|
+
if (gapValue === 'auto' && colValue === 'auto') {
|
|
5144
|
+
this.$element.css({
|
|
5176
5145
|
'justify-content': justifyContent,
|
|
5177
5146
|
'align-content': justifyContent
|
|
5178
5147
|
});
|
|
5179
5148
|
}
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
el.css({
|
|
5149
|
+
else if (gapValue !== 'auto' && colValue === 'auto') {
|
|
5150
|
+
this.$element.css({
|
|
5183
5151
|
'justify-content': justifyContent,
|
|
5184
5152
|
'align-content': alignItems,
|
|
5185
5153
|
'row-gap': `${rowVal}px`
|
|
5186
5154
|
});
|
|
5187
5155
|
}
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
el.css({
|
|
5156
|
+
else if (gapValue === 'auto' && colValue !== 'auto') {
|
|
5157
|
+
this.$element.css({
|
|
5191
5158
|
'align-content': 'space-between',
|
|
5192
5159
|
'column-gap': `${colVal}px`
|
|
5193
5160
|
});
|
|
5194
5161
|
}
|
|
5195
|
-
// both fixed numbers
|
|
5196
5162
|
else {
|
|
5197
5163
|
if (colVal && rowVal) {
|
|
5198
5164
|
if (colVal === rowVal) {
|
|
5199
|
-
|
|
5165
|
+
this.$element.css({
|
|
5166
|
+
'gap': `${colVal}px`,
|
|
5167
|
+
'align-content': alignItems,
|
|
5168
|
+
'justify-content': justifyContent
|
|
5169
|
+
});
|
|
5200
5170
|
}
|
|
5201
5171
|
else {
|
|
5202
|
-
|
|
5172
|
+
this.$element.css({
|
|
5173
|
+
'gap': `${rowVal}px ${colVal}px`,
|
|
5174
|
+
'align-content': alignItems,
|
|
5175
|
+
'justify-content': justifyContent
|
|
5176
|
+
});
|
|
5203
5177
|
}
|
|
5204
5178
|
}
|
|
5205
5179
|
}
|
|
5206
|
-
this.columngap = columngap?.toString();
|
|
5207
5180
|
}
|
|
5208
|
-
this.gap =
|
|
5181
|
+
this.gap = gapValue?.toString();
|
|
5182
|
+
this.columngap = colValue?.toString();
|
|
5209
5183
|
}
|
|
5210
|
-
|
|
5184
|
+
onPropertyChange(key, nv, ov) {
|
|
5185
|
+
switch (key) {
|
|
5186
|
+
case 'direction':
|
|
5187
|
+
this.applyDirection(nv);
|
|
5188
|
+
break;
|
|
5189
|
+
case 'wrap':
|
|
5190
|
+
this.applyWrap(nv);
|
|
5191
|
+
break;
|
|
5192
|
+
case 'alignment':
|
|
5193
|
+
this.alignment = nv;
|
|
5194
|
+
this.applyAlignment(nv);
|
|
5195
|
+
break;
|
|
5196
|
+
case 'gap':
|
|
5197
|
+
case 'columngap':
|
|
5198
|
+
setTimeout(() => {
|
|
5199
|
+
this.applySpacing(key, nv);
|
|
5200
|
+
});
|
|
5201
|
+
break;
|
|
5202
|
+
case 'position':
|
|
5203
|
+
this.position = nv;
|
|
5204
|
+
this.handlePosition();
|
|
5205
|
+
break;
|
|
5206
|
+
case 'clipcontent':
|
|
5207
|
+
this.clipContent = nv;
|
|
5208
|
+
this.handleClipBehaviour();
|
|
5209
|
+
break;
|
|
5210
|
+
}
|
|
5211
|
+
}
|
|
5212
|
+
applyStyleChange(key, nv) {
|
|
5213
|
+
if (key === 'width' || key === 'height') {
|
|
5214
|
+
this.applySize(key, nv);
|
|
5215
|
+
}
|
|
5216
|
+
else if (key === 'padding') {
|
|
5217
|
+
this.$element.css('padding', nv);
|
|
5218
|
+
}
|
|
5219
|
+
else if (key === 'overflow') {
|
|
5220
|
+
this.overflowtype = nv;
|
|
5221
|
+
this.handleClipBehaviour();
|
|
5222
|
+
}
|
|
5223
|
+
else if (key === 'zindex') {
|
|
5224
|
+
this.zIndex = nv;
|
|
5225
|
+
this.handlePosition();
|
|
5226
|
+
}
|
|
5227
|
+
}
|
|
5228
|
+
applySize(key, nv) {
|
|
5229
|
+
if (nv === 'fill') {
|
|
5230
|
+
if (key === 'width') {
|
|
5231
|
+
this.$element.css('width', '100%');
|
|
5232
|
+
}
|
|
5233
|
+
if (key === 'height') {
|
|
5234
|
+
if (this.parentElement?.hasAttribute('wmcontainer') || this.parentElement.hasAttribute('wmautolayout')) {
|
|
5235
|
+
this.$element.css({
|
|
5236
|
+
'align-self': 'stretch',
|
|
5237
|
+
'flex-grow': '1'
|
|
5238
|
+
});
|
|
5239
|
+
}
|
|
5240
|
+
else {
|
|
5241
|
+
this.$element.css('height', '100%');
|
|
5242
|
+
}
|
|
5243
|
+
}
|
|
5244
|
+
}
|
|
5245
|
+
else if (nv === 'hug') {
|
|
5246
|
+
if (key === 'width') {
|
|
5247
|
+
this.$element.css('width', 'fit-content');
|
|
5248
|
+
}
|
|
5249
|
+
if (key === 'height') {
|
|
5250
|
+
this.$element.css('height', 'fit-content');
|
|
5251
|
+
}
|
|
5252
|
+
}
|
|
5253
|
+
else {
|
|
5254
|
+
this.$element.css('flex-shrink', '0'); // Don't shrink when size is fixed
|
|
5255
|
+
}
|
|
5256
|
+
}
|
|
5257
|
+
// Determine whether the container should clip its content and configure scrolling behaviour accordingly.
|
|
5258
|
+
handleClipBehaviour() {
|
|
5259
|
+
const overflow = this.overflowtype?.toLowerCase();
|
|
5260
|
+
switch (overflow) {
|
|
5261
|
+
case 'vertical':
|
|
5262
|
+
this.$element.css({
|
|
5263
|
+
'overflow-x': 'hidden',
|
|
5264
|
+
'overflow-y': 'scroll'
|
|
5265
|
+
});
|
|
5266
|
+
break;
|
|
5267
|
+
case 'horizontal':
|
|
5268
|
+
this.$element.css({
|
|
5269
|
+
'overflow-x': 'scroll',
|
|
5270
|
+
'overflow-y': 'hidden'
|
|
5271
|
+
});
|
|
5272
|
+
break;
|
|
5273
|
+
case 'both directions':
|
|
5274
|
+
this.$element.css({
|
|
5275
|
+
'overflow': 'scroll'
|
|
5276
|
+
});
|
|
5277
|
+
break;
|
|
5278
|
+
case 'no scrolling':
|
|
5279
|
+
if (this.clipContent) {
|
|
5280
|
+
this.$element.css({ 'overflow': 'hidden' });
|
|
5281
|
+
}
|
|
5282
|
+
else {
|
|
5283
|
+
this.$element.css({ 'overflow': '' });
|
|
5284
|
+
}
|
|
5285
|
+
break;
|
|
5286
|
+
}
|
|
5287
|
+
}
|
|
5288
|
+
// Toggle and apply positional behaviour and expose the z-index control when position is not relative.
|
|
5289
|
+
handlePosition() {
|
|
5290
|
+
if (this.position === 'sticky') {
|
|
5291
|
+
// Apply sticky styles
|
|
5292
|
+
this.$element.css({
|
|
5293
|
+
'position': 'sticky',
|
|
5294
|
+
'top': '0', // Sticks to top when scrolling vertically
|
|
5295
|
+
'left': '0', // Sticks to left when scrolling horizontally
|
|
5296
|
+
'z-index': this.zIndex
|
|
5297
|
+
});
|
|
5298
|
+
}
|
|
5299
|
+
else {
|
|
5300
|
+
// Reset to default (static/relative behavior)
|
|
5301
|
+
this.$element.css({
|
|
5302
|
+
'position': '',
|
|
5303
|
+
'top': '',
|
|
5304
|
+
'left': '',
|
|
5305
|
+
'z-index': ''
|
|
5306
|
+
});
|
|
5307
|
+
}
|
|
5308
|
+
}
|
|
5309
|
+
}
|
|
5310
|
+
|
|
5311
|
+
const DEFAULT_CLS = 'app-container';
|
|
5312
|
+
const WIDGET_CONFIG = {
|
|
5313
|
+
widgetType: 'wm-container',
|
|
5314
|
+
hostClass: DEFAULT_CLS
|
|
5315
|
+
};
|
|
5316
|
+
class ContainerDirective extends BaseContainerComponent {
|
|
5317
|
+
static { this.initializeProps = registerProps(); }
|
|
5318
|
+
constructor(inj, explicitContext, app) {
|
|
5319
|
+
super(inj, WIDGET_CONFIG, explicitContext);
|
|
5320
|
+
this.app = app;
|
|
5321
|
+
this.isPrism = false;
|
|
5322
|
+
i1.addClass(this.nativeElement, DEFAULT_CLS);
|
|
5323
|
+
styler(this.nativeElement, this, exports.APPLY_STYLES_TYPE.CONTAINER);
|
|
5324
|
+
this.isPrism = this.app.isPrism;
|
|
5325
|
+
if (this.isPrism) {
|
|
5326
|
+
this.initializeAutoLayout();
|
|
5327
|
+
}
|
|
5328
|
+
}
|
|
5329
|
+
initializeAutoLayout() {
|
|
5330
|
+
const self = this;
|
|
5331
|
+
this.autoLayoutUtils = new class extends AutoLayoutUtils {
|
|
5332
|
+
constructor() {
|
|
5333
|
+
super(...arguments);
|
|
5334
|
+
this.nativeElement = self.nativeElement;
|
|
5335
|
+
this.$element = self.$element;
|
|
5336
|
+
this.parentElement = self.nativeElement.parentElement ?? null;
|
|
5337
|
+
}
|
|
5338
|
+
}();
|
|
5339
|
+
}
|
|
5340
|
+
onPropertyChange(key, nv, ov) {
|
|
5341
|
+
if (this.isPrism && this.autoLayoutUtils) {
|
|
5342
|
+
this.autoLayoutUtils.onPropertyChange(key, nv, ov);
|
|
5343
|
+
}
|
|
5344
|
+
super.onPropertyChange(key, nv, ov);
|
|
5345
|
+
}
|
|
5346
|
+
onStyleChange(key, nv, ov) {
|
|
5347
|
+
if (this.isPrism && this.autoLayoutUtils) {
|
|
5348
|
+
this.autoLayoutUtils.applyStyleChange(key, nv);
|
|
5349
|
+
}
|
|
5350
|
+
super.onStyleChange(key, nv, ov);
|
|
5351
|
+
}
|
|
5352
|
+
static { this.ɵfac = function ContainerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContainerDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8), i0__namespace.ɵɵdirectiveInject(i1__namespace.App)); }; }
|
|
5211
5353
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: ContainerDirective, selectors: [["", "wmContainer", ""]], standalone: true, features: [i0__namespace.ɵɵProvidersFeature([
|
|
5212
5354
|
provideAsWidgetRef(ContainerDirective)
|
|
5213
5355
|
]), i0__namespace.ɵɵInheritDefinitionFeature] }); }
|
|
@@ -5226,7 +5368,7 @@
|
|
|
5226
5368
|
args: ['EXPLICIT_CONTEXT']
|
|
5227
5369
|
}, {
|
|
5228
5370
|
type: i0.Optional
|
|
5229
|
-
}] }], null); })();
|
|
5371
|
+
}] }, { type: i1__namespace.App }], null); })();
|
|
5230
5372
|
|
|
5231
5373
|
class LazyLoadDirective {
|
|
5232
5374
|
constructor(inj, templateRef, viewContainer, explicitContext = {}) {
|
|
@@ -5569,6 +5711,7 @@
|
|
|
5569
5711
|
exports.getBackGroundImageUrl = getBackGroundImageUrl;
|
|
5570
5712
|
exports.getConditionalClasses = getConditionalClasses;
|
|
5571
5713
|
exports.getContainerTargetClass = getContainerTargetClass;
|
|
5714
|
+
exports.getCurrentWidgets = getCurrentWidgets;
|
|
5572
5715
|
exports.getDataTableFilterWidget = getDataTableFilterWidget;
|
|
5573
5716
|
exports.getDefaultValue = getDefaultValue;
|
|
5574
5717
|
exports.getDefaultViewModeWidget = getDefaultViewModeWidget;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { Live_Operations, ALLFIELDS, LIVE_CONSTANTS, performDataOperation, refreshDataSource, fetchRelatedFieldData, interpolateBindExpressions, getDistinctFieldProperties, getDistinctValues, fetchDistinctValues, getDistinctValuesForField, getRangeFieldValue, getRangeMatchMode, getEnableEmptyFilter, getEmptyMatchMode, createArrayFrom, applyFilterOnField, transformData } from './utils/data-utils';
|
|
2
2
|
export { getOrderedDataset, transformDataWithKeys, extractDataAsArray, convertDataToObject, transformFormData, getUniqObjsByDataField, setItemByCompare, groupData, filterDate, toggleAllHeaders, handleHeaderClick, configureDnD, DataSetItem } from './utils/form-utils';
|
|
3
3
|
export { EDIT_MODE, setHeaderConfig, setHeaderConfigForTable, getRowOperationsColumn, getFieldLayoutConfig, getDefaultViewModeWidget, parseValueByType, getFieldTypeWidgetTypesMap, getDataTableFilterWidget, getEditModeWidget, getDefaultValue } from './utils/live-utils';
|
|
4
|
-
export { getObjValueByKey, getEvaluatedData, isActiveNavItem, hasLinkToCurrentPage, getOrderByExpr, isDataSetWidget, getImageUrl, getBackGroundImageUrl, provideAs, provideAsWidgetRef, provideAsDialogRef, unsupportedStatePersistenceTypes, NAVIGATION_TYPE, INPUTMODE, AUTOCLOSE_TYPE, getWatchIdentifier, getMatchModeTypesMap, getMatchModeMsgs, getConditionalClasses, prepareFieldDefs, getContainerTargetClass, extractDataSourceName, setFocusTrap, getKeyboardFocusableElements } from './utils/widget-utils';
|
|
4
|
+
export { getObjValueByKey, getEvaluatedData, isActiveNavItem, hasLinkToCurrentPage, getOrderByExpr, isDataSetWidget, getCurrentWidgets, getImageUrl, getBackGroundImageUrl, provideAs, provideAsWidgetRef, provideAsDialogRef, unsupportedStatePersistenceTypes, NAVIGATION_TYPE, INPUTMODE, AUTOCLOSE_TYPE, getWatchIdentifier, getMatchModeTypesMap, getMatchModeMsgs, getConditionalClasses, prepareFieldDefs, getContainerTargetClass, extractDataSourceName, setFocusTrap, getKeyboardFocusableElements } from './utils/widget-utils';
|
|
5
5
|
export { BaseComponent } from './widgets/common/base/base.component';
|
|
6
6
|
export * from './widgets/common/base/base-container.component';
|
|
7
7
|
export { DatasetAwareNavComponent } from './widgets/common/base/dataset-aware-nav.component';
|
|
@@ -31,4 +31,4 @@ export * from './widgets/common/lazy-load/lazy-load.directive';
|
|
|
31
31
|
export * from './widgets/common/partial-param/partial-param.directive';
|
|
32
32
|
export * from './widgets/common/base/text-content.directive';
|
|
33
33
|
export * from './directives/show-in-device.directive';
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFNBQVMsRUFDVCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFdBQVcsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDSCxTQUFTLEVBQ1QsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsZUFBZSxFQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixTQUFTLEVBQ1Qsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsZUFBZSxFQUNmLFNBQVMsRUFDVCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLFlBQVksRUFDWiw0QkFBNEIsRUFDL0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0gsYUFBYSxFQUNoQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsT0FBTyxFQUNILHdCQUF3QixFQUUzQixNQUFNLG1EQUFtRCxDQUFDO0FBQzNELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ25CLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsT0FBTyxFQUNILG9CQUFvQixFQUNwQixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsV0FBVyxFQUNYLFlBQVksRUFDWixRQUFRLEVBQ1gsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELE9BQU8sRUFDSCxVQUFVLEVBQ1YsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDdEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpdmVfT3BlcmF0aW9uc30gZnJvbSAnLi91dGlscy9kYXRhLXV0aWxzJztcblxuZXhwb3J0IHtcbiAgICBMaXZlX09wZXJhdGlvbnMsXG4gICAgQUxMRklFTERTLFxuICAgIExJVkVfQ09OU1RBTlRTLFxuICAgIHBlcmZvcm1EYXRhT3BlcmF0aW9uLFxuICAgIHJlZnJlc2hEYXRhU291cmNlLFxuICAgIGZldGNoUmVsYXRlZEZpZWxkRGF0YSxcbiAgICBpbnRlcnBvbGF0ZUJpbmRFeHByZXNzaW9ucyxcbiAgICBnZXREaXN0aW5jdEZpZWxkUHJvcGVydGllcyxcbiAgICBnZXREaXN0aW5jdFZhbHVlcyxcbiAgICBmZXRjaERpc3RpbmN0VmFsdWVzLFxuICAgIGdldERpc3RpbmN0VmFsdWVzRm9yRmllbGQsXG4gICAgZ2V0UmFuZ2VGaWVsZFZhbHVlLFxuICAgIGdldFJhbmdlTWF0Y2hNb2RlLFxuICAgIGdldEVuYWJsZUVtcHR5RmlsdGVyLFxuICAgIGdldEVtcHR5TWF0Y2hNb2RlLFxuICAgIGNyZWF0ZUFycmF5RnJvbSxcbiAgICBhcHBseUZpbHRlck9uRmllbGQsXG4gICAgdHJhbnNmb3JtRGF0YVxufSBmcm9tICcuL3V0aWxzL2RhdGEtdXRpbHMnO1xuZXhwb3J0IHtcbiAgICBnZXRPcmRlcmVkRGF0YXNldCxcbiAgICB0cmFuc2Zvcm1EYXRhV2l0aEtleXMsXG4gICAgZXh0cmFjdERhdGFBc0FycmF5LFxuICAgIGNvbnZlcnREYXRhVG9PYmplY3QsXG4gICAgdHJhbnNmb3JtRm9ybURhdGEsXG4gICAgZ2V0VW5pcU9ianNCeURhdGFGaWVsZCxcbiAgICBzZXRJdGVtQnlDb21wYXJlLFxuICAgIGdyb3VwRGF0YSxcbiAgICBmaWx0ZXJEYXRlLFxuICAgIHRvZ2dsZUFsbEhlYWRlcnMsXG4gICAgaGFuZGxlSGVhZGVyQ2xpY2ssXG4gICAgY29uZmlndXJlRG5ELFxuICAgIERhdGFTZXRJdGVtXG59IGZyb20gJy4vdXRpbHMvZm9ybS11dGlscyc7XG5leHBvcnQge1xuICAgIEVESVRfTU9ERSxcbiAgICBzZXRIZWFkZXJDb25maWcsXG4gICAgc2V0SGVhZGVyQ29uZmlnRm9yVGFibGUsXG4gICAgZ2V0Um93T3BlcmF0aW9uc0NvbHVtbixcbiAgICBnZXRGaWVsZExheW91dENvbmZpZyxcbiAgICBnZXREZWZhdWx0Vmlld01vZGVXaWRnZXQsXG4gICAgcGFyc2VWYWx1ZUJ5VHlwZSxcbiAgICBnZXRGaWVsZFR5cGVXaWRnZXRUeXBlc01hcCxcbiAgICBnZXREYXRhVGFibGVGaWx0ZXJXaWRnZXQsXG4gICAgZ2V0RWRpdE1vZGVXaWRnZXQsXG4gICAgZ2V0RGVmYXVsdFZhbHVlXG59IGZyb20gJy4vdXRpbHMvbGl2ZS11dGlscyc7XG5leHBvcnQge1xuICAgIGdldE9ialZhbHVlQnlLZXksXG4gICAgZ2V0RXZhbHVhdGVkRGF0YSxcbiAgICBpc0FjdGl2ZU5hdkl0ZW0sXG4gICAgaGFzTGlua1RvQ3VycmVudFBhZ2UsXG4gICAgZ2V0T3JkZXJCeUV4cHIsXG4gICAgaXNEYXRhU2V0V2lkZ2V0LFxuICAgIGdldEN1cnJlbnRXaWRnZXRzLFxuICAgIGdldEltYWdlVXJsLFxuICAgIGdldEJhY2tHcm91bmRJbWFnZVVybCxcbiAgICBwcm92aWRlQXMsXG4gICAgcHJvdmlkZUFzV2lkZ2V0UmVmLFxuICAgIHByb3ZpZGVBc0RpYWxvZ1JlZixcbiAgICB1bnN1cHBvcnRlZFN0YXRlUGVyc2lzdGVuY2VUeXBlcyxcbiAgICBOQVZJR0FUSU9OX1RZUEUsXG4gICAgSU5QVVRNT0RFLFxuICAgIEFVVE9DTE9TRV9UWVBFLFxuICAgIGdldFdhdGNoSWRlbnRpZmllcixcbiAgICBnZXRNYXRjaE1vZGVUeXBlc01hcCxcbiAgICBnZXRNYXRjaE1vZGVNc2dzLFxuICAgIGdldENvbmRpdGlvbmFsQ2xhc3NlcyxcbiAgICBwcmVwYXJlRmllbGREZWZzICxcbiAgICBnZXRDb250YWluZXJUYXJnZXRDbGFzcyxcbiAgICBleHRyYWN0RGF0YVNvdXJjZU5hbWUsXG4gICAgc2V0Rm9jdXNUcmFwLFxuICAgIGdldEtleWJvYXJkRm9jdXNhYmxlRWxlbWVudHNcbn0gZnJvbSAnLi91dGlscy93aWRnZXQtdXRpbHMnO1xuZXhwb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50XG59IGZyb20gJy4vd2lkZ2V0cy9jb21tb24vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvYmFzZS1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCB7XG4gICAgRGF0YXNldEF3YXJlTmF2Q29tcG9uZW50LFxuICAgIE5hdk5vZGVcbn0gZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL2RhdGFzZXQtYXdhcmUtbmF2LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvcGFydGlhbC1jb250YWluZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vYmFzZS9jdXN0b20td2lkZ2V0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL2Jhc2UtZmllbGQtdmFsaWRhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9pdGVtLXRlbXBsYXRlL2l0ZW0tdGVtcGxhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vcmVwZWF0LXRlbXBsYXRlL3JlcGVhdC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL3N0eWxhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9wdWxsLXRvLXJlZnJlc2gvcHVsbC10by1yZWZyZXNoJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vcGFydGlhbC9wYXJ0aWFsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL3JlZHJhdy9yZWRyYXdhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvZnJhbWV3b3JrL2NvbnN0YW50cyc7XG5leHBvcnQge1xuICAgIHVwZGF0ZURldmljZVZpZXdcbn0gZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay9kZXZpY2V2aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9mcmFtZXdvcmsvc3R5bGVyJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9mcmFtZXdvcmsvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay93aWRnZXQtaWQtZ2VuZXJhdG9yJztcbmV4cG9ydCB7XG4gICAgZ2V0V2lkZ2V0UHJvcHNCeVR5cGUsXG4gICAgcmVnaXN0ZXIsXG4gICAgcmVnaXN0ZXJGb3JtV2lkZ2V0LFxuICAgIFBST1BfVFlQRSxcbiAgICBQUk9QX1NUUklORyxcbiAgICBQUk9QX05VTUJFUixcbiAgICBQUk9QX0JPT0xFQU4sXG4gICAgUFJPUF9BTllcbn0gZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay93aWRnZXQtcHJvcHMnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0IHtcbiAgICBUb0RhdGVQaXBlLFxuICAgIFRvTnVtYmVyUGlwZSxcbiAgICBUb0N1cnJlbmN5UGlwZSxcbiAgICBQcmVmaXhQaXBlLFxuICAgIFN1ZmZpeFBpcGUsXG4gICAgQ3VzdG9tUGlwZSxcbiAgICBUaW1lRnJvbU5vd1BpcGUsXG4gICAgTnVtYmVyVG9TdHJpbmdQaXBlLFxuICAgIFN0cmluZ1RvTnVtYmVyUGlwZSxcbiAgICBGaWx0ZXJQaXBlLFxuICAgIEZpbGVTaXplUGlwZSxcbiAgICBGaWxlSWNvbkNsYXNzUGlwZSxcbiAgICBTdGF0ZUNsYXNzUGlwZSxcbiAgICBGaWxlRXh0ZW5zaW9uRnJvbU1pbWVQaXBlLFxuICAgIFRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlLFxuICAgIFRlbXBsYXRlUmVwbGFjZVBpcGVcbn0gZnJvbSAnLi9waXBlcy9jdXN0b20tcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy90cnVzdC1hcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvc2FuaXRpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2ltYWdlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9jb250YWluZXIvY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2xhenktbG9hZC9sYXp5LWxvYWQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vcGFydGlhbC1wYXJhbS9wYXJ0aWFsLXBhcmFtLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvdGV4dC1jb250ZW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvc2hvdy1pbi1kZXZpY2UuZGlyZWN0aXZlJztcbiJdfQ==
|