@sumaris-net/ngx-components 2.12.16-rc8 → 2.12.16
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/doc/changelog.md +2 -0
- package/esm2022/public_api.mjs +5 -3
- package/esm2022/src/app/admin/users/users.mjs +1 -1
- package/esm2022/src/app/core/account/token.table.mjs +1 -1
- package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +3 -3
- package/esm2022/src/app/core/form/properties/properties.table.mjs +2 -2
- package/esm2022/src/app/core/home/home.mjs +4 -15
- package/esm2022/src/app/core/services/config.service.mjs +10 -7
- package/esm2022/src/app/core/table/column/actions-column.component.mjs +120 -0
- package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +84 -0
- package/esm2022/src/app/core/table/{row-field.component.mjs → column/row-field.component.mjs} +8 -8
- package/esm2022/src/app/core/table/table.module.mjs +7 -3
- package/esm2022/src/app/core/table/testing/table-validator.service.mjs +1 -1
- package/esm2022/src/app/core/table/testing/table.testing.mjs +4 -4
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
- package/esm2022/src/app/shared/constants.mjs +5 -2
- package/esm2022/src/app/shared/file/images.utils.mjs +26 -1
- package/esm2022/src/app/shared/inputs.mjs +34 -1
- package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +204 -153
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +142 -218
- package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +5 -4
- package/esm2022/src/app/shared/material/material.testing.module.mjs +18 -4
- package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +2 -2
- package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +34 -55
- package/esm2022/src/app/shared/testing/maskito.test.mjs +41 -0
- package/fesm2022/sumaris-net.ngx-components.mjs +1587 -1465
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +4 -2
- package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
- package/src/app/core/home/home.d.ts +3 -5
- package/src/app/core/table/column/actions-column.component.d.ts +52 -0
- package/src/app/core/table/column/nav-actions-column.component.d.ts +32 -0
- package/src/app/core/table/{row-field.component.d.ts → column/row-field.component.d.ts} +1 -1
- package/src/app/core/table/table.module.d.ts +8 -7
- package/src/app/shared/constants.d.ts +3 -0
- package/src/app/shared/file/images.utils.d.ts +17 -0
- package/src/app/shared/inputs.d.ts +2 -0
- package/src/app/shared/material/latlong/latlong.utils.d.ts +9 -1
- package/src/app/shared/material/latlong/material.latlong.d.ts +16 -20
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +1 -1
- package/src/app/shared/material/material.testing.module.d.ts +11 -9
- package/src/app/shared/pipes/maskito.pipe.d.ts +6 -1
- package/src/app/shared/testing/maskito.test.d.ts +10 -0
- package/src/assets/i18n/en-US.json +2 -2
- package/src/assets/i18n/en.json +2 -2
- package/src/assets/i18n/fr.json +2 -2
- package/src/assets/manifest.json +1 -1
- package/esm2022/src/app/core/table/actions-column.component.mjs +0 -124
- package/src/app/core/table/actions-column.component.d.ts +0 -50
|
@@ -28,7 +28,7 @@ export class HighlightPipe {
|
|
|
28
28
|
}
|
|
29
29
|
else {
|
|
30
30
|
// Default behaviour
|
|
31
|
-
const regexp = new RegExp('[ ]?' + searchRegexp, 'gi');
|
|
31
|
+
const regexp = new RegExp('[ ]?' + searchRegexp, 'gi'); // TODO escape characters like '?'
|
|
32
32
|
return ('' + value).replace(regexp, '<b>$&</b>');
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
45
45
|
type: Injectable,
|
|
46
46
|
args: [{ providedIn: 'root' }]
|
|
47
47
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9oaWdobGlnaHQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLGFBQWE7SUFDeEIsNkNBQTZDO0lBQzdDLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBd0Q7UUFDNUUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDakUsTUFBTSxVQUFVLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pGLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUUsSUFBSSxZQUFZLEtBQUssSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDLENBQUMsK0JBQStCO1FBRXhFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZiw2REFBNkQ7WUFDN0QsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2RSxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMvRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqQixPQUFPLENBQ0wsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO29CQUN6QixLQUFLO29CQUNMLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7b0JBQ3hELE1BQU07b0JBQ04sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQ2xELENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO2FBQU0sQ0FBQztZQUNOLG9CQUFvQjtZQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsa0NBQWtDO1lBQzFGLE9BQU8sQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQzt3R0E3QlUsYUFBYTtzR0FBYixhQUFhOzRHQUFiLGFBQWEsY0FEQSxNQUFNOzs0RkFDbkIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEI7O2tCQUNBLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVtb3ZlRGlhY3JpdGljcywgdG9Cb29sZWFuIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICBuYW1lOiAnaGlnaGxpZ2h0Jyxcbn0pXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLy8gUmVwbGFjZSBzZWFyY2ggdGV4dCBieSBib2xkIHJlcHJlc2VudGF0aW9uXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBhcmdzPzogc3RyaW5nIHwgeyBzZWFyY2g6IHN0cmluZzsgd2l0aEFjY2VudD86IGJvb2xlYW4gfSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgIWFyZ3MpIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCBzZWFyY2hUZXh0ID0gdHlwZW9mIGFyZ3MgPT09ICdzdHJpbmcnID8gYXJncyA6IGFyZ3Muc2VhcmNoO1xuICAgIGNvbnN0IHdpdGhBY2NlbnQgPSB0eXBlb2YgYXJncyAhPT0gJ3N0cmluZycgPyB0b0Jvb2xlYW4oYXJncz8ud2l0aEFjY2VudCwgZmFsc2UpIDogZmFsc2U7XG4gICAgaWYgKHR5cGVvZiBzZWFyY2hUZXh0ICE9PSAnc3RyaW5nJykgcmV0dXJuIHZhbHVlO1xuICAgIGNvbnN0IHNlYXJjaFJlZ2V4cCA9IHNlYXJjaFRleHQucmVwbGFjZSgvWy5dL2csICdbLl0nKS5yZXBsYWNlKC9bKl0rL2csICcuKicpO1xuICAgIGlmIChzZWFyY2hSZWdleHAgPT09ICcuKicpIHJldHVybiB2YWx1ZTsgLy8gc2tpcCBpZiBjYW4gbWF0Y2ggZXZlcnl0aGluZ1xuXG4gICAgaWYgKHdpdGhBY2NlbnQpIHtcbiAgICAgIC8vIFJlbW92ZSBhbGwgYWNjZW50IGNoYXJhY3RlcnMgdG8gYWxsb3cgdmVyc2F0aWxlIGNvbXBhcmlzb25cbiAgICAgIGNvbnN0IGNsZWFuZWRTZWFyY2hUZXh0ID0gcmVtb3ZlRGlhY3JpdGljcyhzZWFyY2hSZWdleHApLnRvVXBwZXJDYXNlKCk7XG4gICAgICBjb25zdCBpbmRleCA9IHJlbW92ZURpYWNyaXRpY3ModmFsdWUudG9VcHBlckNhc2UoKSkuaW5kZXhPZihjbGVhbmVkU2VhcmNoVGV4dCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdmFsdWUuc3Vic3RyaW5nKDAsIGluZGV4KSArXG4gICAgICAgICAgJzxiPicgK1xuICAgICAgICAgIHZhbHVlLnN1YnN0cmluZyhpbmRleCwgaW5kZXggKyBjbGVhbmVkU2VhcmNoVGV4dC5sZW5ndGgpICtcbiAgICAgICAgICAnPC9iPicgK1xuICAgICAgICAgIHZhbHVlLnN1YnN0cmluZyhpbmRleCArIGNsZWFuZWRTZWFyY2hUZXh0Lmxlbmd0aClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRGVmYXVsdCBiZWhhdmlvdXJcbiAgICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoJ1sgXT8nICsgc2VhcmNoUmVnZXhwLCAnZ2knKTsgLy8gVE9ETyBlc2NhcGUgY2hhcmFjdGVycyBsaWtlICc/J1xuICAgICAgcmV0dXJuICgnJyArIHZhbHVlKS5yZXBsYWNlKHJlZ2V4cCwgJzxiPiQmPC9iPicpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,66 +1,33 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
|
-
import { isNilOrBlank } from '../functions';
|
|
2
|
+
import { isNilOrBlank, isNotNil } from '../functions';
|
|
3
3
|
import { maskitoEventHandler, maskitoWithPlaceholder } from '@maskito/kit';
|
|
4
|
+
import { getCaretPosition, getInputRangeFromCaretIndex, getInputSelectionRangesFromMask, selectInputRange } from '../inputs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class MaskitoPlaceholderPipe {
|
|
6
|
-
transform(placeholder, mask,
|
|
7
|
+
transform(placeholder, mask, opts) {
|
|
7
8
|
if (isNilOrBlank(placeholder))
|
|
8
9
|
return { mask };
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const plugins = [];
|
|
11
|
+
const preprocessors = [];
|
|
12
|
+
const postprocessors = [];
|
|
13
|
+
if (!opts?.noDefaults) {
|
|
14
|
+
const placeholderOptions = maskitoWithPlaceholder(placeholder, true);
|
|
15
|
+
plugins.push(...placeholderOptions.plugins);
|
|
16
|
+
preprocessors.push(...placeholderOptions.preprocessors);
|
|
17
|
+
postprocessors.push(...placeholderOptions.postprocessors);
|
|
13
18
|
}
|
|
19
|
+
plugins.push(...(opts?.plugins || []));
|
|
20
|
+
preprocessors.push(...(opts?.preprocessors || []));
|
|
21
|
+
postprocessors.push(...(opts?.postprocessors || []));
|
|
22
|
+
if (isNotNil(opts?.defaultPrefix)) {
|
|
23
|
+
plugins.push(maskitoPrefixPlugin(opts.defaultPrefix, placeholder));
|
|
24
|
+
}
|
|
25
|
+
plugins.push(maskitoAutoSelectByMaskPattern());
|
|
14
26
|
return {
|
|
15
|
-
overwriteMode: 'replace',
|
|
16
|
-
...placeholderOptions,
|
|
27
|
+
overwriteMode: opts?.overwriteMode || 'replace',
|
|
17
28
|
plugins,
|
|
18
|
-
preprocessors
|
|
19
|
-
|
|
20
|
-
const { value, selection } = elementState;
|
|
21
|
-
if (!value?.length) {
|
|
22
|
-
return { elementState };
|
|
23
|
-
}
|
|
24
|
-
const [from, to] = selection;
|
|
25
|
-
const isDeleteAction = actionType === 'deleteBackward' || actionType === 'deleteForward';
|
|
26
|
-
const zeroes = value.slice(from, to).replace(/\d/g, isDeleteAction ? '' : '0');
|
|
27
|
-
const newValue = value.slice(0, from) + zeroes + value.slice(to);
|
|
28
|
-
if (actionType === 'validation' || (actionType === 'insert' && from === to)) {
|
|
29
|
-
return {
|
|
30
|
-
elementState: { selection, value: newValue },
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
elementState: {
|
|
35
|
-
selection: actionType === 'deleteBackward' || actionType === 'insert' ? [from, from] : [to, to],
|
|
36
|
-
value: newValue,
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
},
|
|
40
|
-
// FIXME : find a way to deleteBackward, on a special character ('.', ' ', '°')
|
|
41
|
-
// ({ elementState, data }, actionType) => {
|
|
42
|
-
// // eslint-disable-next-line prefer-const
|
|
43
|
-
// let { value, selection } = elementState;
|
|
44
|
-
// if (!value.length) return { elementState, data }; // Skip if empty
|
|
45
|
-
//
|
|
46
|
-
// const [start, end] = selection;
|
|
47
|
-
// let selectionMax = value.length - 1;
|
|
48
|
-
//
|
|
49
|
-
// if (value.length < placeholder.length) {
|
|
50
|
-
// value = value + placeholder.substring(value.length).replace(/[DSM]/g, EMPTY_PLACEHOLDER_CHAR);
|
|
51
|
-
// } else if (value.indexOf(EMPTY_PLACEHOLDER_CHAR) !== -1) {
|
|
52
|
-
// selectionMax = value.indexOf(EMPTY_PLACEHOLDER_CHAR);
|
|
53
|
-
// }
|
|
54
|
-
// return {
|
|
55
|
-
// elementState: {
|
|
56
|
-
// selection: [Math.min(selectionMax, start), Math.min(selectionMax, end)],
|
|
57
|
-
// value,
|
|
58
|
-
// },
|
|
59
|
-
// data,
|
|
60
|
-
// };
|
|
61
|
-
// },
|
|
62
|
-
...placeholderOptions.preprocessors,
|
|
63
|
-
],
|
|
29
|
+
preprocessors,
|
|
30
|
+
postprocessors,
|
|
64
31
|
mask,
|
|
65
32
|
};
|
|
66
33
|
}
|
|
@@ -85,4 +52,16 @@ export function maskitoPrefixPlugin(prefix, placeholder) {
|
|
|
85
52
|
}
|
|
86
53
|
});
|
|
87
54
|
}
|
|
88
|
-
|
|
55
|
+
export function maskitoAutoSelectByMaskPattern() {
|
|
56
|
+
return maskitoEventHandler('click', (element, options) => {
|
|
57
|
+
if (options.mask instanceof Array) {
|
|
58
|
+
const caretIndex = getCaretPosition(element);
|
|
59
|
+
const maskPatternInputRanges = getInputSelectionRangesFromMask(options?.mask);
|
|
60
|
+
const selectedInputRange = getInputRangeFromCaretIndex(caretIndex, maskPatternInputRanges);
|
|
61
|
+
if (isNotNil(selectedInputRange)) {
|
|
62
|
+
selectInputRange(element, selectedInputRange[0], selectedInputRange[1] + 1);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2l0by5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbWFza2l0by5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBTzdILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsU0FBUyxDQUFDLFdBQW1CLEVBQUUsSUFBaUIsRUFBRSxJQUFvQztRQUNwRixJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFL0MsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN6QixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFMUIsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN0QixNQUFNLGtCQUFrQixHQUFHLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNyRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hELGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRCxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckQsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxTQUFTO1lBQy9DLE9BQU87WUFDUCxhQUFhO1lBQ2IsY0FBYztZQUNkLElBQUk7U0FDTCxDQUFDO0lBQ0osQ0FBQzt3R0E5QlUsc0JBQXNCO3NHQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9CQUFvQjtpQkFDM0I7O0FBa0NELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsV0FBb0I7SUFDdEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUErQyxFQUFFLE9BQWlDLEVBQUUsRUFBRTtRQUN6SCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7WUFDdkIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDekMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsOEJBQThCO0lBQzVDLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBK0MsRUFBRSxPQUFpQyxFQUFFLEVBQUU7UUFDekgsSUFBSSxPQUFPLENBQUMsSUFBSSxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQ2xDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLE1BQU0sc0JBQXNCLEdBQUcsK0JBQStCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzlFLE1BQU0sa0JBQWtCLEdBQUcsMkJBQTJCLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7WUFDM0YsSUFBSSxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDOUUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbE9yQmxhbmssIGlzTm90TmlsIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7IE1hc2tpdG9NYXNrLCBNYXNraXRvT3B0aW9ucywgTWFza2l0b1BsdWdpbiB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHsgbWFza2l0b0V2ZW50SGFuZGxlciwgbWFza2l0b1dpdGhQbGFjZWhvbGRlciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQgeyBnZXRDYXJldFBvc2l0aW9uLCBnZXRJbnB1dFJhbmdlRnJvbUNhcmV0SW5kZXgsIGdldElucHV0U2VsZWN0aW9uUmFuZ2VzRnJvbU1hc2ssIHNlbGVjdElucHV0UmFuZ2UgfSBmcm9tICcuLi9pbnB1dHMnO1xuXG5leHBvcnQgdHlwZSBNYXNraXRvUGxhY2Vob2xkZXJQaXBlT3B0aW9ucyA9IHsgZGVmYXVsdFByZWZpeD86IHN0cmluZzsgbm9EZWZhdWx0cz86IGJvb2xlYW4gfSAmIFBhcnRpYWw8TWFza2l0b09wdGlvbnM+O1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdtYXNraXRvUGxhY2Vob2xkZXInLFxufSlcbmV4cG9ydCBjbGFzcyBNYXNraXRvUGxhY2Vob2xkZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShwbGFjZWhvbGRlcjogc3RyaW5nLCBtYXNrOiBNYXNraXRvTWFzaywgb3B0cz86IE1hc2tpdG9QbGFjZWhvbGRlclBpcGVPcHRpb25zKTogTWFza2l0b09wdGlvbnMge1xuICAgIGlmIChpc05pbE9yQmxhbmsocGxhY2Vob2xkZXIpKSByZXR1cm4geyBtYXNrIH07XG5cbiAgICBjb25zdCBwbHVnaW5zID0gW107XG4gICAgY29uc3QgcHJlcHJvY2Vzc29ycyA9IFtdO1xuICAgIGNvbnN0IHBvc3Rwcm9jZXNzb3JzID0gW107XG5cbiAgICBpZiAoIW9wdHM/Lm5vRGVmYXVsdHMpIHtcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyT3B0aW9ucyA9IG1hc2tpdG9XaXRoUGxhY2Vob2xkZXIocGxhY2Vob2xkZXIsIHRydWUpO1xuICAgICAgcGx1Z2lucy5wdXNoKC4uLnBsYWNlaG9sZGVyT3B0aW9ucy5wbHVnaW5zKTtcbiAgICAgIHByZXByb2Nlc3NvcnMucHVzaCguLi5wbGFjZWhvbGRlck9wdGlvbnMucHJlcHJvY2Vzc29ycyk7XG4gICAgICBwb3N0cHJvY2Vzc29ycy5wdXNoKC4uLnBsYWNlaG9sZGVyT3B0aW9ucy5wb3N0cHJvY2Vzc29ycyk7XG4gICAgfVxuICAgIHBsdWdpbnMucHVzaCguLi4ob3B0cz8ucGx1Z2lucyB8fCBbXSkpO1xuICAgIHByZXByb2Nlc3NvcnMucHVzaCguLi4ob3B0cz8ucHJlcHJvY2Vzc29ycyB8fCBbXSkpO1xuICAgIHBvc3Rwcm9jZXNzb3JzLnB1c2goLi4uKG9wdHM/LnBvc3Rwcm9jZXNzb3JzIHx8IFtdKSk7XG5cbiAgICBpZiAoaXNOb3ROaWwob3B0cz8uZGVmYXVsdFByZWZpeCkpIHtcbiAgICAgIHBsdWdpbnMucHVzaChtYXNraXRvUHJlZml4UGx1Z2luKG9wdHMuZGVmYXVsdFByZWZpeCwgcGxhY2Vob2xkZXIpKTtcbiAgICB9XG4gICAgcGx1Z2lucy5wdXNoKG1hc2tpdG9BdXRvU2VsZWN0QnlNYXNrUGF0dGVybigpKTtcblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyd3JpdGVNb2RlOiBvcHRzPy5vdmVyd3JpdGVNb2RlIHx8ICdyZXBsYWNlJyxcbiAgICAgIHBsdWdpbnMsXG4gICAgICBwcmVwcm9jZXNzb3JzLFxuICAgICAgcG9zdHByb2Nlc3NvcnMsXG4gICAgICBtYXNrLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hc2tpdG9QcmVmaXhQbHVnaW4ocHJlZml4OiBzdHJpbmcsIHBsYWNlaG9sZGVyPzogc3RyaW5nKTogTWFza2l0b1BsdWdpbiB7XG4gIHJldHVybiBtYXNraXRvRXZlbnRIYW5kbGVyKCdmb2N1cycsIChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCwgb3B0aW9uczogUmVxdWlyZWQ8TWFza2l0b09wdGlvbnM+KSA9PiB7XG4gICAgaWYgKGVsZW1lbnQudmFsdWUgPT09ICcnKSB7XG4gICAgICBlbGVtZW50LnZhbHVlID0gcHJlZml4O1xuICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7XG4gICAgfSBlbHNlIGlmIChlbGVtZW50LnZhbHVlID09PSBwbGFjZWhvbGRlcikge1xuICAgICAgZWxlbWVudC52YWx1ZSA9IHByZWZpeCArIHBsYWNlaG9sZGVyLnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoKTtcbiAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JykpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXNraXRvQXV0b1NlbGVjdEJ5TWFza1BhdHRlcm4oKTogTWFza2l0b1BsdWdpbiB7XG4gIHJldHVybiBtYXNraXRvRXZlbnRIYW5kbGVyKCdjbGljaycsIChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCwgb3B0aW9uczogUmVxdWlyZWQ8TWFza2l0b09wdGlvbnM+KSA9PiB7XG4gICAgaWYgKG9wdGlvbnMubWFzayBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBjb25zdCBjYXJldEluZGV4ID0gZ2V0Q2FyZXRQb3NpdGlvbihlbGVtZW50KTtcbiAgICAgIGNvbnN0IG1hc2tQYXR0ZXJuSW5wdXRSYW5nZXMgPSBnZXRJbnB1dFNlbGVjdGlvblJhbmdlc0Zyb21NYXNrKG9wdGlvbnM/Lm1hc2spO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJbnB1dFJhbmdlID0gZ2V0SW5wdXRSYW5nZUZyb21DYXJldEluZGV4KGNhcmV0SW5kZXgsIG1hc2tQYXR0ZXJuSW5wdXRSYW5nZXMpO1xuICAgICAgaWYgKGlzTm90TmlsKHNlbGVjdGVkSW5wdXRSYW5nZSkpIHtcbiAgICAgICAgc2VsZWN0SW5wdXRSYW5nZShlbGVtZW50LCBzZWxlY3RlZElucHV0UmFuZ2VbMF0sIHNlbGVjdGVkSW5wdXRSYW5nZVsxXSArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/forms";
|
|
4
|
+
import * as i2 from "@ionic/angular";
|
|
5
|
+
import * as i3 from "@angular/material/form-field";
|
|
6
|
+
import * as i4 from "@angular/material/input";
|
|
7
|
+
import * as i5 from "@maskito/angular";
|
|
8
|
+
import * as i6 from "../pipes/maskito.pipe";
|
|
9
|
+
export class MaskitoTestPage {
|
|
10
|
+
formBuilder;
|
|
11
|
+
form;
|
|
12
|
+
labelMask = [
|
|
13
|
+
/\d/,
|
|
14
|
+
/\d/,
|
|
15
|
+
' ',
|
|
16
|
+
/^[a-zA-Z]$/,
|
|
17
|
+
/^[a-zA-Z]$/,
|
|
18
|
+
/^[a-zA-Z]$/,
|
|
19
|
+
/^[a-zA-Z]$/,
|
|
20
|
+
/^[a-zA-Z]$/,
|
|
21
|
+
/^[a-zA-Z]$/,
|
|
22
|
+
/^[a-zA-Z]$/,
|
|
23
|
+
' ',
|
|
24
|
+
/\d/,
|
|
25
|
+
/\d/,
|
|
26
|
+
/\d/,
|
|
27
|
+
];
|
|
28
|
+
constructor(formBuilder) {
|
|
29
|
+
this.formBuilder = formBuilder;
|
|
30
|
+
this.form = formBuilder.group({
|
|
31
|
+
strategy: [null],
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MaskitoTestPage, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MaskitoTestPage, selector: "app-maskito-test", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Maskito test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <form [formGroup]=\"form\">\n <ion-grid>\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">Test Strategy Pattern</ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field>\n <input\n matInput\n #strategyInput\n formControlName=\"strategy\"\n autocomplete=\"off\"\n type=\"text\"\n [maskito]=\"'__ _______ ___' | maskitoPlaceholder: labelMask\"\n placeholder=\"Strategy field\"\n />\n </mat-form-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonBackButton, selector: "ion-back-button" }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "pipe", type: i6.MaskitoPlaceholderPipe, name: "maskitoPlaceholder" }] });
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MaskitoTestPage, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'app-maskito-test', template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Maskito test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <form [formGroup]=\"form\">\n <ion-grid>\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">Test Strategy Pattern</ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field>\n <input\n matInput\n #strategyInput\n formControlName=\"strategy\"\n autocomplete=\"off\"\n type=\"text\"\n [maskito]=\"'__ _______ ___' | maskitoPlaceholder: labelMask\"\n placeholder=\"Strategy field\"\n />\n </mat-form-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n</ion-content>\n" }]
|
|
40
|
+
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2l0by50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvdGVzdGluZy9tYXNraXRvLnRlc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90ZXN0aW5nL21hc2tpdG8udGVzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxlQUFlO0lBb0JKO0lBbkJ0QixJQUFJLENBQW1CO0lBRXZCLFNBQVMsR0FBd0I7UUFDL0IsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7S0FDTCxDQUFDO0lBRUYsWUFBc0IsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0F4QlUsZUFBZTs0RkFBZixlQUFlLHdEQ1A1Qixpb0NBd0NBOzs0RkRqQ2EsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1hc2tpdG8tdGVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXNraXRvLnRlc3QuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hc2tpdG9UZXN0UGFnZSB7XG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgbGFiZWxNYXNrOiAoc3RyaW5nIHwgUmVnRXhwKVtdID0gW1xuICAgIC9cXGQvLFxuICAgIC9cXGQvLFxuICAgICcgJyxcbiAgICAvXlthLXpBLVpdJC8sXG4gICAgL15bYS16QS1aXSQvLFxuICAgIC9eW2EtekEtWl0kLyxcbiAgICAvXlthLXpBLVpdJC8sXG4gICAgL15bYS16QS1aXSQvLFxuICAgIC9eW2EtekEtWl0kLyxcbiAgICAvXlthLXpBLVpdJC8sXG4gICAgJyAnLFxuICAgIC9cXGQvLFxuICAgIC9cXGQvLFxuICAgIC9cXGQvLFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5mb3JtID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgc3RyYXRlZ3k6IFtudWxsXSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJhY2stYnV0dG9uPjwvaW9uLWJhY2stYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPk1hc2tpdG8gdGVzdCBwYWdlPC9pb24tdGl0bGU+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudD5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPGlvbi1ncmlkPlxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxpb24tY2FyZD5cbiAgICAgICAgICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxpb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiPlRlc3QgU3RyYXRlZ3kgUGF0dGVybjwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICNzdHJhdGVneUlucHV0XG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdHJhdGVneVwiXG4gICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgW21hc2tpdG9dPVwiJ19fIF9fX19fX18gX19fJyB8IG1hc2tpdG9QbGFjZWhvbGRlcjogbGFiZWxNYXNrXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RyYXRlZ3kgZmllbGRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24tY2FyZD5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuICAgIDwvaW9uLWdyaWQ+XG4gIDwvZm9ybT5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
|