@messaia/cdk 14.0.0 → 15.0.0-rc02
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/esm2020/lib/base/base.module.mjs +8 -8
- package/esm2020/lib/base/components/base.component.mjs +3 -3
- package/esm2020/lib/base/components/dynamic-table-config-dialog.comnponent.mjs +21 -21
- package/esm2020/lib/base/components/generic-form-base.component.mjs +3 -3
- package/esm2020/lib/base/components/generic-form.component.mjs +3 -3
- package/esm2020/lib/base/components/generic-list.component.mjs +3 -3
- package/esm2020/lib/base/components/generic-reactive-form.component.mjs +3 -3
- package/esm2020/lib/base/interceptors/base.interceptor.mjs +3 -3
- package/esm2020/lib/base/interceptors/caching-interceptor.mjs +3 -3
- package/esm2020/lib/base/interceptors/loading.interceptor.mjs +3 -3
- package/esm2020/lib/base/services/file.service.mjs +3 -3
- package/esm2020/lib/base/services/loading-screen.service.mjs +3 -3
- package/esm2020/lib/base/services/print.service.mjs +3 -3
- package/esm2020/lib/chips/chips.module.mjs +4 -4
- package/esm2020/lib/chips/components/chips.component.mjs +6 -6
- package/esm2020/lib/chips/directives/autocomplete-option.directive.mjs +3 -3
- package/esm2020/lib/chips/directives/chip.directive.mjs +3 -3
- package/esm2020/lib/common/common.module.mjs +4 -4
- package/esm2020/lib/common/directives/disable-control.directive.mjs +3 -3
- package/esm2020/lib/common/functions/utils.mjs +4 -4
- package/esm2020/lib/common/helpers/app-storage.mjs +4 -4
- package/esm2020/lib/common/helpers/dynamic-builder.mjs +3 -3
- package/esm2020/lib/common/helpers/dynamic-component-compiler.mjs +3 -3
- package/esm2020/lib/common/models/app-setting.mjs +3 -3
- package/esm2020/lib/common/models/audit-entity.mjs +1 -1
- package/esm2020/lib/common/models/base-entity.mjs +1 -1
- package/esm2020/lib/common/models/displayname-number-projection.mjs +1 -1
- package/esm2020/lib/common/models/displayname-projection.mjs +1 -1
- package/esm2020/lib/common/models/name-number-projection.mjs +1 -1
- package/esm2020/lib/common/models/name-projection.mjs +1 -1
- package/esm2020/lib/common/models/title-projection.mjs +1 -1
- package/esm2020/lib/common/pipes/data-source.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/enum.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/file-size.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/filter.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/first-letter.mjs +3 -3
- package/esm2020/lib/common/pipes/form-control.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/form-group.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/func.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/keys.mjs +3 -3
- package/esm2020/lib/common/pipes/month-name.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/only-number.mjs +3 -3
- package/esm2020/lib/common/pipes/order.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/placeholder.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/safe-html.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/time.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/titlecase.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/truncate.pipe.mjs +3 -3
- package/esm2020/lib/common/pipes/values.mjs +3 -3
- package/esm2020/lib/common/services/base.service.mjs +3 -3
- package/esm2020/lib/common/services/enum.service.mjs +3 -3
- package/esm2020/lib/dialogs/alert-dialog/alert-dialog.component.mjs +18 -6
- package/esm2020/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +20 -6
- package/esm2020/lib/dialogs/dialog.component.mjs +12 -12
- package/esm2020/lib/dialogs/dialogs.module.mjs +4 -4
- package/esm2020/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +5 -5
- package/esm2020/lib/dialogs/services/dialog.service.mjs +3 -3
- package/esm2020/lib/file/file-input.component.mjs +33 -33
- package/esm2020/lib/file/file.module.mjs +4 -4
- package/esm2020/lib/form-validators/abstract/typed-form.mjs +1 -1
- package/esm2020/lib/form-validators/algorithm/luhn-algorithm.mjs +1 -1
- package/esm2020/lib/form-validators/const/app-validators.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/app.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/config-names.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/config-required-fields.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/decorators.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/events.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/html-elements.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/iban-country-wise-regex.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/index.mjs +1 -1
- package/esm2020/lib/form-validators/const/operators.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/validation-alphabet-locale.const.mjs +1 -1
- package/esm2020/lib/form-validators/const/validator.const.mjs +1 -1
- package/esm2020/lib/form-validators/core/defaultContainer.mjs +1 -1
- package/esm2020/lib/form-validators/core/validator.interface.mjs +1 -1
- package/esm2020/lib/form-validators/core/validator.static.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/allOf.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/alpha.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/alphaNumeric.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/and.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/ascii.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/async.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/base-decorator.function.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/choice.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/compare.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/compose.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/contains.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/credit-card.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/cusip.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/custom.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/dataUri.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/date.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/different.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/digit.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/email.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/endsWith.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/even.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/extension.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/factor.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/file.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/fileSize.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/greater-than-equal-to.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/greater-than.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/grid.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/hexColor.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/image.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/index.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/json.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/latLong.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/latitude.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/leapYear.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/less-than-equal-to.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/less-than.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/longitude.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/lowercase.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/mac.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/mask.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/maxDate.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/maxLength.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/maxNumber.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/maxTime.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/minDate.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/minLength.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/minNumber.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/minTime.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/model.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/non-validation-decorators/disable.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/non-validation-decorators/error.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/non-validation-decorators/update-on.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/noneOf.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/not.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/notEmpty.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/numeric.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/odd.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/oneOf.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/or.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/password.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/pattern.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/port.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/primeNumber.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/prop-array.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/prop-object.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/prop.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/range.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/required.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/requiredTrue.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/rule.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/blacklist.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/escape.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/ltrim.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/prefix.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/rtrim.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/sanitize.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/stripLow.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/suffix.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/toBoolean.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/toDate.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/toDouble.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/toFloat.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/toInt.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/toString.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/trim.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/sanitize/whitelist.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/startsWith.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/time.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/unique.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/uppercase.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/decorators/url.decorator.mjs +1 -1
- package/esm2020/lib/form-validators/directives/base-directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/control-host.directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/html-control-template.directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/rx-form.directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/template-validations/async-validation.directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/template-validations/base-validator.directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/template-validations/control-expression-process.mjs +4 -4
- package/esm2020/lib/form-validators/directives/template-validations/file-control.directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +4 -4
- package/esm2020/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +4 -4
- package/esm2020/lib/form-validators/domain/disable-provider.mjs +1 -1
- package/esm2020/lib/form-validators/domain/element-processor/decimal.provider.mjs +4 -4
- package/esm2020/lib/form-validators/domain/element-processor/mask.provider.mjs +1 -1
- package/esm2020/lib/form-validators/domain/form-data.mjs +1 -1
- package/esm2020/lib/form-validators/enums/error-message-binding-strategy.mjs +1 -1
- package/esm2020/lib/form-validators/enums/index.mjs +1 -1
- package/esm2020/lib/form-validators/enums/ip-version.mjs +1 -1
- package/esm2020/lib/form-validators/enums/numeric-value-type.mjs +1 -1
- package/esm2020/lib/form-validators/enums/reset-type.mjs +1 -1
- package/esm2020/lib/form-validators/enums/url-validation-type.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/alpha-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/array-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/base-config-fn.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/base-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/base-date-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/choice-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/compare-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/component-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/compose-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/contains-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/credit-card-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/custom-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/date-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/default-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/digit-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/disable-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/element-class-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/email-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/error-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/extension-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/factor-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/field-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/file-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/hex-color-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/iban-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/image-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/index.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/ip-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/logical-operator-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/mask-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/max-date-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/message-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/min-date-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/model-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/number-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/numeric-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/password-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/pattern-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/prop-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/props-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/range-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/relational-operator-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/required-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/rule-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/sanitize-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/size-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/string-comparison-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/string-value-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/time-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/todate-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/unique-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/update-on-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/config/url-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/form-builder-configuration.mjs +1 -1
- package/esm2020/lib/form-validators/models/index.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/array-prop-instance-config.interface.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/auto-instance-config.interface.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/form-data-config.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/i-abstract-control.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/i-form-group.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/instance-argument.interface.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/object-prop-instance-config.interface.mjs +1 -1
- package/esm2020/lib/form-validators/models/interface/options.mjs +1 -1
- package/esm2020/lib/form-validators/models/password-validation.model.mjs +1 -1
- package/esm2020/lib/form-validators/models/prop-validation-config.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/allOf.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/alpha.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/alphaNumeric.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/and.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/ascii.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/choice.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/compare.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/compose.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/contains.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/cusip.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/custom.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/dataUri.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/date.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/different.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/digit.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/email.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/even.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/extension.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/factor.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/file.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/greater-than.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/grid.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/hexcolor.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/iban.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/image.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/index.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/ip.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/json.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/latLong.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/latitude.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/less-than.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/longitude.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/mac.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/mask.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/maxDate.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/maxTime.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/minDate.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/minLength.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/minTime.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/not.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/numeric.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/odd.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/or.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/password.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/pattern.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/port.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/range.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/required.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/rule.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/time.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/unique.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +1 -1
- package/esm2020/lib/form-validators/reactive-form-validators/url.validator.mjs +1 -1
- package/esm2020/lib/form-validators/services/base-form-builder.mjs +1 -1
- package/esm2020/lib/form-validators/services/entity.service.mjs +1 -1
- package/esm2020/lib/form-validators/services/form-control.mjs +1 -1
- package/esm2020/lib/form-validators/services/form-group.mjs +1 -1
- package/esm2020/lib/form-validators/services/reactive-form.module.mjs +9 -9
- package/esm2020/lib/form-validators/services/rx-form-array.mjs +1 -1
- package/esm2020/lib/form-validators/services/rx-form-builder.mjs +4 -4
- package/esm2020/lib/form-validators/services/rx-form-group.mjs +1 -1
- package/esm2020/lib/form-validators/services/typed-form-builder.mjs +4 -4
- package/esm2020/lib/form-validators/util/alphabet-regex.locale.mjs +1 -1
- package/esm2020/lib/form-validators/util/app-util.mjs +1 -1
- package/esm2020/lib/form-validators/util/check-length.mjs +1 -1
- package/esm2020/lib/form-validators/util/config-provider.mjs +1 -1
- package/esm2020/lib/form-validators/util/date-checker.function.mjs +1 -1
- package/esm2020/lib/form-validators/util/date-provider.mjs +1 -1
- package/esm2020/lib/form-validators/util/form-const.mjs +1 -1
- package/esm2020/lib/form-validators/util/form-provider.mjs +1 -1
- package/esm2020/lib/form-validators/util/index.mjs +1 -1
- package/esm2020/lib/form-validators/util/instance-provider.function.mjs +1 -1
- package/esm2020/lib/form-validators/util/ip-checker.mjs +1 -1
- package/esm2020/lib/form-validators/util/linq.mjs +1 -1
- package/esm2020/lib/form-validators/util/object-maker.mjs +1 -1
- package/esm2020/lib/form-validators/util/reactive-form-config.mjs +1 -1
- package/esm2020/lib/form-validators/util/regex-rules.mjs +1 -1
- package/esm2020/lib/form-validators/util/regex-validator.mjs +1 -1
- package/esm2020/lib/form-validators/util/relational-checker.function.mjs +1 -1
- package/esm2020/lib/form-validators/util/reset-form.mjs +1 -1
- package/esm2020/lib/form-validators/util/sanitizers.mjs +1 -1
- package/esm2020/lib/form-validators/util/time-checker.function.mjs +1 -1
- package/esm2020/lib/form-validators/util/type.mjs +1 -1
- package/esm2020/lib/form-validators/util/validator-value-checker.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/allOf-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/alpha-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/alphaNumeric-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/and-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/ascii-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/base-validator.function.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/choice-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/compare-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/compose-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/contains-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/credit-card-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/cusip-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/custom-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/dataUri-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/date-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/different-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/digit-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/email-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/endsWith-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/even-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/extension-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/factor-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/file-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/fileSize-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/greater-than-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/grid-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/hexcolor-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/iban-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/image-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/index.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/ip-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/json-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/latLong-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/latitude-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/leapYear-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/less-than-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/longitude-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/lowercase-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/mac-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/mask-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/maxDate-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/maxLength-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/maxNumber-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/maxTime-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/minDate-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/minLength-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/minNumber-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/minTime-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/noneOf-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/not-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/notEmpty-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/numeric-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/odd-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/oneOf-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/or-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/password-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/pattern-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/port-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/primeNumber-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/range-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/required-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/requiredTrue-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/rxweb-validators.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/startsWith-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/time-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/unique-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/uppercase-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-extension/url-validator.extension.mjs +1 -1
- package/esm2020/lib/form-validators/validators-function/alpha-validation.function.mjs +1 -1
- package/esm2020/lib/form-validators/validators-function/regex-validation.function.mjs +1 -1
- package/esm2020/lib/forms/components/generic-form/generic-form.component.mjs +17 -17
- package/esm2020/lib/forms/directives/mat-form-field-editor.directive.mjs +3 -3
- package/esm2020/lib/forms/directives/mat-form-field-readonly.directive.mjs +3 -3
- package/esm2020/lib/forms/forms.module.mjs +4 -4
- package/esm2020/lib/forms/helpers/abstract-mat-form-field.mjs +17 -7
- package/esm2020/lib/forms/helpers/value-accessor-base.mjs +3 -3
- package/esm2020/lib/forms/models/form-field-definition.mjs +1 -1
- package/esm2020/lib/forms/validators/empty-string-reset.directive.mjs +3 -3
- package/esm2020/lib/forms/validators/equal-validator.directive.mjs +3 -3
- package/esm2020/lib/forms/validators/native-element-injector.directive.mjs +3 -3
- package/esm2020/lib/forms/validators/unique-validator-directive.mjs +3 -3
- package/esm2020/lib/http/http.module.mjs +4 -4
- package/esm2020/lib/layout/dynamic-menu/dynamic-menu.component.mjs +3 -3
- package/esm2020/lib/layout/layout-card-over/layout-card-over.component.mjs +5 -5
- package/esm2020/lib/layout/layout-footer/layout-footer.component.mjs +3 -3
- package/esm2020/lib/layout/layout-manage-list/layout-manage-list.component.mjs +4 -4
- package/esm2020/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +9 -9
- package/esm2020/lib/layout/layout-nav/layout-nav.component.mjs +3 -3
- package/esm2020/lib/layout/layout-nav-list/layout-nav-list.component.mjs +3 -3
- package/esm2020/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +9 -9
- package/esm2020/lib/layout/layout-toggle.class.mjs +3 -3
- package/esm2020/lib/layout/layout.component.mjs +3 -3
- package/esm2020/lib/layout/layout.directives.mjs +9 -9
- package/esm2020/lib/layout/layout.module.mjs +4 -4
- package/esm2020/lib/layout/list-toolbar/list-toolbar.component.mjs +3 -3
- package/esm2020/lib/layout/navigation-drawer/navigation-drawer.component.mjs +10 -10
- package/esm2020/lib/media/directives/media-toggle.directive.mjs +3 -3
- package/esm2020/lib/media/media.module.mjs +4 -4
- package/esm2020/lib/media/services/media.service.mjs +3 -3
- package/esm2020/lib/menu/components/menu.component.mjs +6 -7
- package/esm2020/lib/menu/menu.module.mjs +4 -4
- package/esm2020/lib/menu/models/menu-item.mjs +1 -1
- package/esm2020/lib/menu/models/menu.mjs +1 -1
- package/esm2020/lib/menu/services/menu-items.service.mjs +3 -3
- package/esm2020/lib/menu/services/menu.resolve.mjs +6 -6
- package/esm2020/lib/menu/services/menu.service.mjs +3 -3
- package/esm2020/lib/search/search.module.mjs +4 -4
- package/esm2020/lib/search/vd-search-box/vd-search-box.component.mjs +4 -4
- package/esm2020/lib/search/vd-search-input/vd-search-input.component.mjs +7 -7
- package/esm2020/lib/select/components/select.component.mjs +36 -10
- package/esm2020/lib/select/directives/vd-select-option.directive.mjs +3 -3
- package/esm2020/lib/select/directives/vd-select-trigger.directive.mjs +3 -3
- package/esm2020/lib/select/select.module.mjs +4 -4
- package/esm2020/lib/table/components/dynamic-table/dynamic-table.component.mjs +5 -5
- package/esm2020/lib/table/components/filter-clear.component.mjs +10 -10
- package/esm2020/lib/table/components/filter-date.component.mjs +28 -19
- package/esm2020/lib/table/components/filter-input.component.mjs +31 -20
- package/esm2020/lib/table/components/filter-select.component.mjs +41 -15
- package/esm2020/lib/table/directives/data-source-filter.directive.mjs +3 -3
- package/esm2020/lib/table/functions/decorators.mjs +2 -2
- package/esm2020/lib/table/models/table-column-config.mjs +1 -1
- package/esm2020/lib/table/paginator-intl.mjs +3 -3
- package/esm2020/lib/table/table.module.mjs +4 -4
- package/fesm2015/messaia-cdk.mjs +682 -573
- package/fesm2015/messaia-cdk.mjs.map +1 -1
- package/fesm2020/messaia-cdk.mjs +683 -574
- package/fesm2020/messaia-cdk.mjs.map +1 -1
- package/lib/base/components/base.component.d.ts +1 -1
- package/lib/base/components/dynamic-table-config-dialog.comnponent.d.ts +1 -1
- package/lib/base/components/generic-form-base.component.d.ts +1 -1
- package/lib/base/components/generic-form.component.d.ts +1 -1
- package/lib/base/components/generic-list.component.d.ts +1 -1
- package/lib/base/components/generic-reactive-form.component.d.ts +1 -1
- package/lib/chips/components/chips.component.d.ts +1 -1
- package/lib/chips/directives/autocomplete-option.directive.d.ts +1 -1
- package/lib/chips/directives/chip.directive.d.ts +1 -1
- package/lib/common/directives/disable-control.directive.d.ts +1 -1
- package/lib/common/functions/utils.d.ts +1 -1
- package/lib/common/helpers/app-storage.d.ts +1 -1
- package/lib/common/pipes/only-number.d.ts +1 -1
- package/lib/common/pipes/order.pipe.d.ts +1 -1
- package/lib/common/styles/_common-theme.scss +8 -7
- package/lib/common/styles/_layout.scss +1 -1
- package/lib/common/styles/core/_button.scss +1 -1
- package/lib/common/styles/core/_card.scss +40 -36
- package/lib/common/styles/core/_icons.scss +2 -1
- package/lib/common/styles/core/_sidenav.scss +2 -1
- package/lib/common/styles/utilities/_general.scss +197 -31
- package/lib/common/theming/_all-theme.scss +4 -0
- package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
- package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
- package/lib/dialogs/dialog.component.d.ts +4 -4
- package/lib/dialogs/prompt-dialog/prompt-dialog.component.d.ts +1 -1
- package/lib/file/file-input.component.d.ts +1 -1
- package/lib/form-validators/directives/base-directive.d.ts +1 -1
- package/lib/form-validators/directives/control-host.directive.d.ts +1 -1
- package/lib/form-validators/directives/html-control-template.directive.d.ts +1 -1
- package/lib/form-validators/directives/rx-form.directive.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/async-validation.directive.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/base-validator.directive.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/control-expression-process.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/file-control.directive.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/image-file-control.directive.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/rxformcontrol.directive.d.ts +1 -1
- package/lib/forms/components/generic-form/generic-form.component.d.ts +5 -5
- package/lib/forms/directives/mat-form-field-editor.directive.d.ts +1 -1
- package/lib/forms/directives/mat-form-field-readonly.directive.d.ts +1 -1
- package/lib/forms/helpers/abstract-mat-form-field.d.ts +8 -3
- package/lib/forms/helpers/value-accessor-base.d.ts +1 -1
- package/lib/forms/models/form-field-definition.d.ts +3 -0
- package/lib/forms/validators/empty-string-reset.directive.d.ts +1 -1
- package/lib/forms/validators/equal-validator.directive.d.ts +1 -1
- package/lib/forms/validators/native-element-injector.directive.d.ts +1 -1
- package/lib/forms/validators/unique-validator-directive.d.ts +1 -1
- package/lib/layout/_layout-theme.scss +133 -2
- package/lib/layout/dynamic-menu/dynamic-menu.component.d.ts +1 -1
- package/lib/layout/layout-card-over/layout-card-over.component.d.ts +1 -1
- package/lib/layout/layout-footer/layout-footer.component.d.ts +1 -1
- package/lib/layout/layout-manage-list/layout-manage-list.component.d.ts +1 -1
- package/lib/layout/layout-manage-list/layout-manage-list.directives.d.ts +3 -3
- package/lib/layout/layout-nav/layout-nav.component.d.ts +1 -1
- package/lib/layout/layout-nav-list/layout-nav-list.component.d.ts +1 -1
- package/lib/layout/layout-nav-list/layout-nav-list.directives.d.ts +3 -3
- package/lib/layout/layout-toggle.class.d.ts +1 -1
- package/lib/layout/layout.component.d.ts +1 -1
- package/lib/layout/layout.directives.d.ts +3 -3
- package/lib/layout/list-toolbar/list-toolbar.component.d.ts +1 -1
- package/lib/layout/navigation-drawer/navigation-drawer.component.d.ts +3 -3
- package/lib/media/directives/media-toggle.directive.d.ts +1 -1
- package/lib/menu/components/menu.component.d.ts +1 -1
- package/lib/search/vd-search-box/vd-search-box.component.d.ts +1 -1
- package/lib/search/vd-search-input/vd-search-input.component.d.ts +1 -1
- package/lib/select/components/select.component.d.ts +22 -5
- package/lib/select/directives/vd-select-option.directive.d.ts +1 -1
- package/lib/select/directives/vd-select-trigger.directive.d.ts +1 -1
- package/lib/table/components/dynamic-table/dynamic-table.component.d.ts +1 -1
- package/lib/table/components/filter-clear.component.d.ts +1 -1
- package/lib/table/components/filter-date.component.d.ts +10 -1
- package/lib/table/components/filter-input.component.d.ts +10 -1
- package/lib/table/components/filter-select.component.d.ts +11 -2
- package/lib/table/directives/data-source-filter.directive.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CdkColumnDef } from '@angular/cdk/table';
|
|
2
|
-
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { Component, forwardRef, HostListener, Input } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { MatTable } from '@angular/material/table';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -34,6 +34,10 @@ export class FilterDateComponent {
|
|
|
34
34
|
* Placeholder for the underlying input component.
|
|
35
35
|
*/
|
|
36
36
|
this.placeholder = 'Filter...';
|
|
37
|
+
/**
|
|
38
|
+
* Whether the control is focused.
|
|
39
|
+
*/
|
|
40
|
+
this.focused = false;
|
|
37
41
|
/**
|
|
38
42
|
* Called when the control receives a change event.
|
|
39
43
|
*/
|
|
@@ -64,6 +68,11 @@ export class FilterDateComponent {
|
|
|
64
68
|
this.onChange(v);
|
|
65
69
|
}
|
|
66
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Whether the control is focused.
|
|
73
|
+
*/
|
|
74
|
+
onFocusIn() { this.focused = true; }
|
|
75
|
+
onFocusOut() { this.focused = false; }
|
|
67
76
|
/**
|
|
68
77
|
* Call serch event
|
|
69
78
|
*/
|
|
@@ -100,8 +109,8 @@ export class FilterDateComponent {
|
|
|
100
109
|
*/
|
|
101
110
|
registerOnTouched(fn) { this.onTouched = fn; }
|
|
102
111
|
}
|
|
103
|
-
/** @nocollapse */ FilterDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
104
|
-
/** @nocollapse */ FilterDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
112
|
+
/** @nocollapse */ FilterDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FilterDateComponent, deps: [{ token: i1.MatTable }, { token: i2.CdkColumnDef }], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
/** @nocollapse */ FilterDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FilterDateComponent, selector: "mat-header-cell[filter-date], [mat-header-cell][filter-date], [filter-date]", inputs: { field: "field", debounce: "debounce", placeholder: "placeholder" }, host: { listeners: { "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, providers: [
|
|
105
114
|
{
|
|
106
115
|
provide: NG_VALUE_ACCESSOR,
|
|
107
116
|
useExisting: forwardRef((() => FilterDateComponent)),
|
|
@@ -109,36 +118,30 @@ export class FilterDateComponent {
|
|
|
109
118
|
}
|
|
110
119
|
], ngImport: i0, template: `
|
|
111
120
|
<mat-form-field flex>
|
|
112
|
-
<input matInput [matDatepicker]="picker" [ngModel]="value" (ngModelChange)="handleSearch($event)"
|
|
113
|
-
|
|
114
|
-
readonly>
|
|
121
|
+
<input matInput [matDatepicker]="picker" [ngModel]="value" (ngModelChange)="handleSearch($event)" (click)="picker.open()" (search)="handleSearch($event)" (keyup.enter)="handleSearch($event)" readonly>
|
|
122
|
+
<span matPrefix *ngIf="!value && !focused"><mat-icon>manage_search</mat-icon></span>
|
|
115
123
|
<button type="button" mat-button matSuffix mat-icon-button aria-label="Clear" *ngIf="value" (click)="clearSearch()">
|
|
116
124
|
<mat-icon>close</mat-icon>
|
|
117
125
|
</button>
|
|
118
126
|
<mat-datepicker #picker></mat-datepicker>
|
|
119
|
-
</mat-form-field>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
127
|
+
</mat-form-field>`, isInline: true, styles: [".mdc-icon-button{padding:3px;width:30px;height:30px}.mdc-icon-button mat-icon{line-height:1.125;font-size:.8em}mat-icon{opacity:.7}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]" }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.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: "component", type: i9.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] });
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FilterDateComponent, decorators: [{
|
|
121
129
|
type: Component,
|
|
122
|
-
args: [{
|
|
123
|
-
selector: 'mat-header-cell[filter-date], [mat-header-cell][filter-date], [filter-date]',
|
|
124
|
-
template: `
|
|
130
|
+
args: [{ selector: 'mat-header-cell[filter-date], [mat-header-cell][filter-date], [filter-date]', template: `
|
|
125
131
|
<mat-form-field flex>
|
|
126
|
-
<input matInput [matDatepicker]="picker" [ngModel]="value" (ngModelChange)="handleSearch($event)"
|
|
127
|
-
|
|
128
|
-
readonly>
|
|
132
|
+
<input matInput [matDatepicker]="picker" [ngModel]="value" (ngModelChange)="handleSearch($event)" (click)="picker.open()" (search)="handleSearch($event)" (keyup.enter)="handleSearch($event)" readonly>
|
|
133
|
+
<span matPrefix *ngIf="!value && !focused"><mat-icon>manage_search</mat-icon></span>
|
|
129
134
|
<button type="button" mat-button matSuffix mat-icon-button aria-label="Clear" *ngIf="value" (click)="clearSearch()">
|
|
130
135
|
<mat-icon>close</mat-icon>
|
|
131
136
|
</button>
|
|
132
137
|
<mat-datepicker #picker></mat-datepicker>
|
|
133
|
-
</mat-form-field>`,
|
|
134
|
-
providers: [
|
|
138
|
+
</mat-form-field>`, providers: [
|
|
135
139
|
{
|
|
136
140
|
provide: NG_VALUE_ACCESSOR,
|
|
137
141
|
useExisting: forwardRef((() => FilterDateComponent)),
|
|
138
142
|
multi: true
|
|
139
143
|
}
|
|
140
|
-
]
|
|
141
|
-
}]
|
|
144
|
+
], styles: [".mdc-icon-button{padding:3px;width:30px;height:30px}.mdc-icon-button mat-icon{line-height:1.125;font-size:.8em}mat-icon{opacity:.7}\n"] }]
|
|
142
145
|
}], ctorParameters: function () { return [{ type: i1.MatTable }, { type: i2.CdkColumnDef }]; }, propDecorators: { field: [{
|
|
143
146
|
type: Input
|
|
144
147
|
}], debounce: [{
|
|
@@ -147,5 +150,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
|
|
|
147
150
|
}], placeholder: [{
|
|
148
151
|
type: Input,
|
|
149
152
|
args: ['placeholder']
|
|
153
|
+
}], onFocusIn: [{
|
|
154
|
+
type: HostListener,
|
|
155
|
+
args: ["focusin"]
|
|
156
|
+
}], onFocusOut: [{
|
|
157
|
+
type: HostListener,
|
|
158
|
+
args: ["focusout"]
|
|
150
159
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy9maWx0ZXItZGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQXNCbkQsTUFBTSxPQUFPLG1CQUFtQjtJQStCL0I7OztPQUdHO0lBQ0gsWUFBb0IsS0FBb0IsRUFBVSxNQUFvQjtRQUFsRCxVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQWpDdEU7O1dBRUc7UUFDTSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTVCOzs7V0FHRztRQUNnQixhQUFRLEdBQVcsR0FBRyxDQUFDO1FBRTFDOzs7V0FHRztRQUNtQixnQkFBVyxHQUFXLFdBQVcsQ0FBQztRQThEeEQ7O1dBRUc7UUFDSCxhQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0Qjs7V0FFRztRQUNILGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFdEI7O1dBRUc7UUFDSyxXQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUV6RDs7V0FFRztRQUNLLFFBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFH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QUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsb0JBQW9CLEVBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEO2lCQUNEOzBIQU1TLEtBQUs7c0JBQWIsS0FBSztnQkFNYSxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBTUssV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdtYXQtaGVhZGVyLWNlbGxbZmlsdGVyLWRhdGVdLCBbbWF0LWhlYWRlci1jZWxsXVtmaWx0ZXItZGF0ZV0sIFtmaWx0ZXItZGF0ZV0nLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHQ8bWF0LWZvcm0tZmllbGQgZmxleD5cclxuXHRcdFx0PGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIFtuZ01vZGVsXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxyXG5cdFx0XHQoY2xpY2spPVwicGlja2VyLm9wZW4oKVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChzZWFyY2gpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIiAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxyXG5cdFx0XHRyZWFkb25seT5cclxuXHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJDbGVhclwiICpuZ0lmPVwidmFsdWVcIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxyXG5cdFx0PC9tYXQtZm9ybS1maWVsZD5gLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVyRGF0ZUNvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlXHJcblx0XHR9XHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcblx0LyoqXHJcblx0ICogRmllbGQgbmFtZVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogZGVib3VuY2U/OiBudW1iZXJcclxuXHQgKiBEZWJvdW5jZSB0aW1lb3V0IGJldHdlZW4ga2V5cHJlc3Nlcy4gRGVmYXVsdHMgdG8gNDAwLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgnZGVib3VuY2UnKSBkZWJvdW5jZTogbnVtYmVyID0gNDAwO1xyXG5cclxuXHQvKipcclxuXHQgKiBwbGFjZWhvbGRlcj86IHN0cmluZ1xyXG5cdCAqIFBsYWNlaG9sZGVyIGZvciB0aGUgdW5kZXJseWluZyBpbnB1dCBjb21wb25lbnQuXHJcblx0ICovXHJcblx0QElucHV0KCdwbGFjZWhvbGRlcicpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnRmlsdGVyLi4uJztcclxuXHJcblx0LyoqXHJcblx0ICogU2V0dGVycyBhbmQgZ2V0dGVycyBmb3IgdGhlIGlucHV0IHZhbHVlXHJcblx0ICovXHJcblx0Z2V0IHZhbHVlKCk6IGFueSB7IHJldHVybiB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdOyB9O1xyXG5cdHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuXHRcdGlmICh2ICE9PSB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdKSB7XHJcblx0XHRcdHRoaXMudGFibGUuZGF0YVNvdXJjZVsnZmllbGRGaWx0ZXJzJ11bdGhpcy5maWVsZF0gPSB2O1xyXG5cdFx0XHR0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ3BhZ2luYXRvciddWydwYWdlSW5kZXgnXSA9IDA7XHJcblx0XHRcdHRoaXMub25DaGFuZ2Uodik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqIEBwYXJhbSB0YWJsZSBcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LCBwcml2YXRlIGNvbHVtbjogQ2RrQ29sdW1uRGVmKSB7XHJcblx0XHR0aGlzLmZpZWxkID0gdGhpcy5jb2x1bW4ubmFtZS5yZXBsYWNlKCdmaWx0ZXIuJywgJycpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbCBzZXJjaCBldmVudFxyXG5cdCAqL1xyXG5cdGhhbmRsZVNlYXJjaChkYXRlOiBhbnkpOiB2b2lkIHtcclxuXHRcdGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG5cdFx0XHR0aGlzLnZhbHVlID0gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0ke3RoaXMucGFkKGRhdGUuZ2V0TW9udGgoKSArIDEsIDIpfS0ke3RoaXMucGFkKGRhdGUuZ2V0RGF0ZSgpLCAyKX1gO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy52YWx1ZSA9IGAke2RhdGUueWVhcigpfS0ke3RoaXMucGFkKGRhdGUubW9udGgoKSArIDEsIDIpfS0ke3RoaXMucGFkKGRhdGUuZGF0ZSgpLCAyKX1gO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMucmVsb2FkKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDbGVhcnMgaW5wdXQgYm94XHJcblx0ICovXHJcblx0Y2xlYXJTZWFyY2goKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy52YWx1ZSAhPSAnJykge1xyXG5cdFx0XHR0aGlzLnZhbHVlID0gJyc7XHJcblx0XHRcdHRoaXMucmVsb2FkKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBXcml0ZSBhIG5ldyB2YWx1ZSB0byB0aGUgZWxlbWVudC5cclxuXHQgKi9cclxuXHR3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuXHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldCB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0b25DaGFuZ2UgPSAoXykgPT4geyB9O1xyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuXHJcblx0LyoqXHJcblx0ICogUmVsb2FkIGRhdGFcclxuXHQgKi9cclxuXHRwcml2YXRlIHJlbG9hZCA9ICgpID0+IHRoaXMudGFibGUuZGF0YVNvdXJjZVsncmVsb2FkJ10oKTtcclxuXHJcblx0LyoqXHJcblx0ICogQWRkcyBsZWFkaW5nIHplcm9zIHRvIGEgZGlnaXRcclxuXHQgKi9cclxuXHRwcml2YXRlIHBhZCA9IChudW0sIHNpemUpID0+IHsgcmV0dXJuICgnMCcgKyBudW0pLnN1YnN0cigtc2l6ZSkgfTtcclxufSJdfQ==
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy9maWx0ZXItZGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFxQ25ELE1BQU0sT0FBTyxtQkFBbUI7SUEwQy9COzs7T0FHRztJQUNILFlBQW9CLEtBQW9CLEVBQVUsTUFBb0I7UUFBbEQsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWM7UUE1Q3RFOztXQUVHO1FBQ00sVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUU1Qjs7O1dBR0c7UUFDZ0IsYUFBUSxHQUFXLEdBQUcsQ0FBQztRQUUxQzs7O1dBR0c7UUFDbUIsZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFjeEQ7O1dBRUc7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBd0R2Qjs7V0FFRztRQUNILGFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXRCOztXQUVHO1FBQ0gsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0Qjs7V0FFRztRQUNLLFdBQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBRXpEOztXQUVHO1FBQ0ssUUFBRyxHQUFHLENB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Q2xELEtBQUssRUFBRSxJQUFJO1NBQ1g7S0FDRCwwQkEvQlM7Ozs7Ozs7O29CQVFTOzJGQXlCUCxtQkFBbUI7a0JBbkMvQixTQUFTOytCQUNDLDZFQUE2RSxZQUM3RTs7Ozs7Ozs7b0JBUVMsYUFpQlI7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsb0JBQW9CLEVBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEOzBIQU9RLEtBQUs7c0JBQWIsS0FBSztnQkFNYSxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBTUssV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhO2dCQXNCSyxTQUFTO3NCQUFqQyxZQUFZO3VCQUFDLFNBQVM7Z0JBQ0csVUFBVTtzQkFBbkMsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ21hdC1oZWFkZXItY2VsbFtmaWx0ZXItZGF0ZV0sIFttYXQtaGVhZGVyLWNlbGxdW2ZpbHRlci1kYXRlXSwgW2ZpbHRlci1kYXRlXScsXHJcblx0dGVtcGxhdGU6IGBcclxuXHRcdDxtYXQtZm9ybS1maWVsZCBmbGV4PlxyXG5cdFx0XHQ8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCIgKHNlYXJjaCk9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiIChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiIHJlYWRvbmx5PlxyXG5cdFx0XHQ8c3BhbiBtYXRQcmVmaXggKm5nSWY9XCIhdmFsdWUgJiYgIWZvY3VzZWRcIj48bWF0LWljb24+bWFuYWdlX3NlYXJjaDwvbWF0LWljb24+PC9zcGFuPlxyXG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKm5nSWY9XCJ2YWx1ZVwiIChjbGljayk9XCJjbGVhclNlYXJjaCgpXCI+XHJcblx0XHRcdFx0PG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHRcdDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XHJcblx0XHQ8L21hdC1mb3JtLWZpZWxkPmAsXHJcblx0c3R5bGVzOiBbYFx0XHRcclxuXHRcdC5tZGMtaWNvbi1idXR0b24ge1xyXG5cdFx0XHRwYWRkaW5nOiAzcHg7XHJcblx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHR9XHJcblx0XHRcdFxyXG5cdFx0Lm1kYy1pY29uLWJ1dHRvbiBtYXQtaWNvbiB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjEyNTtcclxuICAgIFx0XHRmb250LXNpemU6IDAuOGVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdG1hdC1pY29uIHtcclxuXHRcdFx0b3BhY2l0eTogMC43O1xyXG5cdFx0fVxyXG5cdGBdLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVyRGF0ZUNvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlXHJcblx0XHR9XHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyRGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcblx0LyoqXHJcblx0ICogRmllbGQgbmFtZVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogZGVib3VuY2U/OiBudW1iZXJcclxuXHQgKiBEZWJvdW5jZSB0aW1lb3V0IGJldHdlZW4ga2V5cHJlc3Nlcy4gRGVmYXVsdHMgdG8gNDAwLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgnZGVib3VuY2UnKSBkZWJvdW5jZTogbnVtYmVyID0gNDAwO1xyXG5cclxuXHQvKipcclxuXHQgKiBwbGFjZWhvbGRlcj86IHN0cmluZ1xyXG5cdCAqIFBsYWNlaG9sZGVyIGZvciB0aGUgdW5kZXJseWluZyBpbnB1dCBjb21wb25lbnQuXHJcblx0ICovXHJcblx0QElucHV0KCdwbGFjZWhvbGRlcicpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnRmlsdGVyLi4uJztcclxuXHJcblx0LyoqXHJcblx0ICogU2V0dGVycyBhbmQgZ2V0dGVycyBmb3IgdGhlIGlucHV0IHZhbHVlXHJcblx0ICovXHJcblx0Z2V0IHZhbHVlKCk6IGFueSB7IHJldHVybiB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdOyB9O1xyXG5cdHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuXHRcdGlmICh2ICE9PSB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdKSB7XHJcblx0XHRcdHRoaXMudGFibGUuZGF0YVNvdXJjZVsnZmllbGRGaWx0ZXJzJ11bdGhpcy5maWVsZF0gPSB2O1xyXG5cdFx0XHR0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ3BhZ2luYXRvciddWydwYWdlSW5kZXgnXSA9IDA7XHJcblx0XHRcdHRoaXMub25DaGFuZ2Uodik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBjb250cm9sIGlzIGZvY3VzZWQuXHJcblx0ICovXHJcblx0cHVibGljIGZvY3VzZWQgPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogV2hldGhlciB0aGUgY29udHJvbCBpcyBmb2N1c2VkLlxyXG5cdCAqL1xyXG5cdEBIb3N0TGlzdGVuZXIoXCJmb2N1c2luXCIpIG9uRm9jdXNJbigpIHsgdGhpcy5mb2N1c2VkID0gdHJ1ZTsgfVxyXG5cdEBIb3N0TGlzdGVuZXIoXCJmb2N1c291dFwiKSBvbkZvY3VzT3V0KCkgeyB0aGlzLmZvY3VzZWQgPSBmYWxzZTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqIEBwYXJhbSB0YWJsZSBcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LCBwcml2YXRlIGNvbHVtbjogQ2RrQ29sdW1uRGVmKSB7XHJcblx0XHR0aGlzLmZpZWxkID0gdGhpcy5jb2x1bW4ubmFtZS5yZXBsYWNlKCdmaWx0ZXIuJywgJycpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbCBzZXJjaCBldmVudFxyXG5cdCAqL1xyXG5cdGhhbmRsZVNlYXJjaChkYXRlOiBhbnkpOiB2b2lkIHtcclxuXHRcdGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG5cdFx0XHR0aGlzLnZhbHVlID0gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0ke3RoaXMucGFkKGRhdGUuZ2V0TW9udGgoKSArIDEsIDIpfS0ke3RoaXMucGFkKGRhdGUuZ2V0RGF0ZSgpLCAyKX1gO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy52YWx1ZSA9IGAke2RhdGUueWVhcigpfS0ke3RoaXMucGFkKGRhdGUubW9udGgoKSArIDEsIDIpfS0ke3RoaXMucGFkKGRhdGUuZGF0ZSgpLCAyKX1gO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMucmVsb2FkKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDbGVhcnMgaW5wdXQgYm94XHJcblx0ICovXHJcblx0Y2xlYXJTZWFyY2goKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy52YWx1ZSAhPSAnJykge1xyXG5cdFx0XHR0aGlzLnZhbHVlID0gJyc7XHJcblx0XHRcdHRoaXMucmVsb2FkKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBXcml0ZSBhIG5ldyB2YWx1ZSB0byB0aGUgZWxlbWVudC5cclxuXHQgKi9cclxuXHR3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuXHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldCB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0b25DaGFuZ2UgPSAoXykgPT4geyB9O1xyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuXHJcblx0LyoqXHJcblx0ICogUmVsb2FkIGRhdGFcclxuXHQgKi9cclxuXHRwcml2YXRlIHJlbG9hZCA9ICgpID0+IHRoaXMudGFibGUuZGF0YVNvdXJjZVsncmVsb2FkJ10oKTtcclxuXHJcblx0LyoqXHJcblx0ICogQWRkcyBsZWFkaW5nIHplcm9zIHRvIGEgZGlnaXRcclxuXHQgKi9cclxuXHRwcml2YXRlIHBhZCA9IChudW0sIHNpemUpID0+IHsgcmV0dXJuICgnMCcgKyBudW0pLnN1YnN0cigtc2l6ZSkgfTtcclxufSJdfQ==
|
|
@@ -40,6 +40,10 @@ export class FilterInputComponent {
|
|
|
40
40
|
* Placeholder for the underlying input component.
|
|
41
41
|
*/
|
|
42
42
|
this.placeholder = 'Filter...';
|
|
43
|
+
/**
|
|
44
|
+
* Whether the control is focused.
|
|
45
|
+
*/
|
|
46
|
+
this.focused = false;
|
|
43
47
|
/**
|
|
44
48
|
* Called when the control receives a change event.
|
|
45
49
|
*/
|
|
@@ -54,6 +58,11 @@ export class FilterInputComponent {
|
|
|
54
58
|
this.reload = () => this.table.dataSource['reload']();
|
|
55
59
|
this.field = this.column.name.replace('filter.', '');
|
|
56
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Whether the control is focused.
|
|
63
|
+
*/
|
|
64
|
+
onFocusIn() { this.focused = true; }
|
|
65
|
+
onFocusOut() { this.focused = false; }
|
|
57
66
|
/**
|
|
58
67
|
* Setters and getters for the input value
|
|
59
68
|
*/
|
|
@@ -143,41 +152,37 @@ export class FilterInputComponent {
|
|
|
143
152
|
}
|
|
144
153
|
}
|
|
145
154
|
}
|
|
146
|
-
/** @nocollapse */ FilterInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
147
|
-
/** @nocollapse */ FilterInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
155
|
+
/** @nocollapse */ FilterInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FilterInputComponent, deps: [{ token: i1.MatTable }, { token: i2.CdkColumnDef }], target: i0.ɵɵFactoryTarget.Component });
|
|
156
|
+
/** @nocollapse */ FilterInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FilterInputComponent, selector: "mat-header-cell[filter-input], [mat-header-cell][filter-input], [filter-input]", inputs: { field: "field", operator: "operator", onlyNumber: "onlyNumber", debounce: "debounce", placeholder: "placeholder" }, host: { listeners: { "focusin": "onFocusIn()", "focusout": "onFocusOut()", "keydown": "onKeyDown($event)" } }, providers: [
|
|
148
157
|
{
|
|
149
158
|
provide: NG_VALUE_ACCESSOR,
|
|
150
159
|
useExisting: forwardRef((() => FilterInputComponent)),
|
|
151
160
|
multi: true
|
|
152
161
|
}
|
|
153
162
|
], viewQueries: [{ propertyName: "_filter", first: true, predicate: ["filterElement"], descendants: true, static: true }], ngImport: i0, template: `
|
|
154
|
-
<mat-form-field flex>
|
|
155
|
-
<input matInput #filterElement ngControl="filterElement" autocomplete="off" type="input" [(ngModel)]="value"
|
|
156
|
-
|
|
157
|
-
<button type="button"
|
|
163
|
+
<mat-form-field [ngClass]="{'filter-not-empty': value}" flex>
|
|
164
|
+
<input matInput #filterElement ngControl="filterElement" autocomplete="off" type="input" [(ngModel)]="value" (search)="stopPropagation($event)" (keyup.enter)="handleSearch($event)"/>
|
|
165
|
+
<span matPrefix *ngIf="!value && !focused"><mat-icon>manage_search</mat-icon></span>
|
|
166
|
+
<button type="button" matSuffix mat-icon-button aria-label="Clear" *ngIf="value" (click)="clearSearch()">
|
|
158
167
|
<mat-icon>close</mat-icon>
|
|
159
168
|
</button>
|
|
160
|
-
</mat-form-field>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
169
|
+
</mat-form-field>`, isInline: true, styles: [".mdc-icon-button{padding:3px;width:30px;height:30px}.mdc-icon-button mat-icon{line-height:1.125;font-size:.8em}mat-icon{opacity:.6}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]" }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.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"] }] });
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FilterInputComponent, decorators: [{
|
|
162
171
|
type: Component,
|
|
163
|
-
args: [{
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
<
|
|
168
|
-
(keyup.enter)="handleSearch($event)"/>
|
|
169
|
-
<button type="button" mat-button matSuffix mat-icon-button aria-label="Clear" *ngIf="value" (click)="clearSearch()">
|
|
172
|
+
args: [{ selector: 'mat-header-cell[filter-input], [mat-header-cell][filter-input], [filter-input]', template: `
|
|
173
|
+
<mat-form-field [ngClass]="{'filter-not-empty': value}" flex>
|
|
174
|
+
<input matInput #filterElement ngControl="filterElement" autocomplete="off" type="input" [(ngModel)]="value" (search)="stopPropagation($event)" (keyup.enter)="handleSearch($event)"/>
|
|
175
|
+
<span matPrefix *ngIf="!value && !focused"><mat-icon>manage_search</mat-icon></span>
|
|
176
|
+
<button type="button" matSuffix mat-icon-button aria-label="Clear" *ngIf="value" (click)="clearSearch()">
|
|
170
177
|
<mat-icon>close</mat-icon>
|
|
171
178
|
</button>
|
|
172
|
-
</mat-form-field>`,
|
|
173
|
-
providers: [
|
|
179
|
+
</mat-form-field>`, providers: [
|
|
174
180
|
{
|
|
175
181
|
provide: NG_VALUE_ACCESSOR,
|
|
176
182
|
useExisting: forwardRef((() => FilterInputComponent)),
|
|
177
183
|
multi: true
|
|
178
184
|
}
|
|
179
|
-
]
|
|
180
|
-
}]
|
|
185
|
+
], styles: [".mdc-icon-button{padding:3px;width:30px;height:30px}.mdc-icon-button mat-icon{line-height:1.125;font-size:.8em}mat-icon{opacity:.6}\n"] }]
|
|
181
186
|
}], ctorParameters: function () { return [{ type: i1.MatTable }, { type: i2.CdkColumnDef }]; }, propDecorators: { _filter: [{
|
|
182
187
|
type: ViewChild,
|
|
183
188
|
args: ['filterElement', { static: true }]
|
|
@@ -191,8 +196,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
|
|
|
191
196
|
type: Input
|
|
192
197
|
}], placeholder: [{
|
|
193
198
|
type: Input
|
|
199
|
+
}], onFocusIn: [{
|
|
200
|
+
type: HostListener,
|
|
201
|
+
args: ["focusin"]
|
|
202
|
+
}], onFocusOut: [{
|
|
203
|
+
type: HostListener,
|
|
204
|
+
args: ["focusout"]
|
|
194
205
|
}], onKeyDown: [{
|
|
195
206
|
type: HostListener,
|
|
196
207
|
args: ['keydown', ['$event']]
|
|
197
208
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvZmlsdGVyLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFvQnBFLE1BQU0sT0FBTyxvQkFBb0I7SUE4Q2hDOzs7O09BSUc7SUFDSCxZQUFvQixLQUFvQixFQUFVLE1BQW9CO1FBQWxELFVBQUssR0FBTCxLQUFLLENBQWU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFjO1FBNUN0RTs7V0FFRztRQUNNLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFNUI7O1dBRUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBTy9COzs7V0FHRztRQUNNLGFBQVEsR0FBVyxHQUFHLENBQUM7UUFFaEM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFrRjNDOztXQUVHO1FBQ0gsYUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFdEI7O1dBRUc7UUFDSCxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBK0J0Qjs7V0FFRztRQUNLLFdBQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBeEd4RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQW5CRDs7T0FFRztJQUNILElBQUksS0FBSyxLQUFVLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDbkgsSUFBSSxLQUFLLENBQUMsQ0FBTTtRQUNmLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakI7SUFDRixDQUFDO0lBV0Q7O09BRUc7SUFDSCxRQUFRO1FBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUM1QyxJQUFJLENBQ0osWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDM0Isb0JBQW9CLEVBQUUsQ0FDdEIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUM3QixJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNkO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZSxDQUFDLEtBQVk7UUFDM0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxLQUFZO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Q7SUFDRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLEVBQW9CLElBQVUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXBFOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsRUFBYyxJQUFVLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQVloRTs7O09BR0c7SUFDa0MsU0FBUyxDQUFDLEtBQUs7UUFDbkQsSUFBSSxDQUFDLEdBQWtCLEtBQUssQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6RCxtQkFBbUI7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsbUJBQW1CO2dCQUNuQixDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzlDLG1CQUFtQjtnQkFDbkIsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QyxtQkFBbUI7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsbUNBQW1DO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUU7Z0JBQ3RDLHNDQUFzQztnQkFDdEMsT0FBTzthQUNQO1lBRUQsc0RBQXNEO1lBQ3RELElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsRUFBRTtnQkFDOUYsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ25CO1NBQ0Q7SUFDRixDQUFDOztvSUF2Slcsb0JBQW9CO3dIQUFwQixvQkFBb0IsZ1NBUnJCO1FBQ1Y7WUFDQyxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLEVBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUk7U0FDWDtLQUNELGtKQWRTOzs7Ozs7O29CQU9TOzJGQVNQLG9CQUFvQjtrQkFsQmhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGdGQUFnRjtvQkFDMUYsUUFBUSxFQUFFOzs7Ozs7O29CQU9TO29CQUNuQixTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUscUJBQXFCLEVBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEO2lCQUNEOzBIQU1zRCxPQUFPO3NCQUE1RCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS25DLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsUUFBUTtzQkFBaEIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQWdHK0IsU0FBUztzQkFBN0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb2x1bW5EZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdtYXQtaGVhZGVyLWNlbGxbZmlsdGVyLWlucHV0XSwgW21hdC1oZWFkZXItY2VsbF1bZmlsdGVyLWlucHV0XSwgW2ZpbHRlci1pbnB1dF0nLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHQ8bWF0LWZvcm0tZmllbGQgZmxleD5cclxuXHRcdFx0PGlucHV0IG1hdElucHV0ICNmaWx0ZXJFbGVtZW50IG5nQ29udHJvbD1cImZpbHRlckVsZW1lbnRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiB0eXBlPVwiaW5wdXRcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKHNlYXJjaCk9XCJzdG9wUHJvcGFnYXRpb24oJGV2ZW50KVwiXHJcblx0XHRcdChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiLz5cclxuXHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJDbGVhclwiICpuZ0lmPVwidmFsdWVcIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9tYXQtZm9ybS1maWVsZD5gLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVySW5wdXRDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlcklucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgcmVmZXJuY2UgdG8gdGhlIGlucHV0IGVsZW1lbnRcclxuXHQgKi9cclxuXHRAVmlld0NoaWxkKCdmaWx0ZXJFbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBfZmlsdGVyOiBFbGVtZW50UmVmO1xyXG5cclxuXHQvKipcclxuXHQgKiBGaWVsZCBuYW1lXHJcblx0ICovXHJcblx0QElucHV0KCkgZmllbGQ6IHN0cmluZyA9ICcnO1xyXG5cclxuXHQvKipcclxuXHQgKiBRdWVyeSBvcGVyYXRvclxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIG9wZXJhdG9yOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogT25seSBudW1iZXJcclxuXHQgKi9cclxuXHRASW5wdXQoKSBvbmx5TnVtYmVyOiBib29sZWFuO1xyXG5cclxuXHQvKipcclxuXHQgKiBkZWJvdW5jZT86IG51bWJlclxyXG5cdCAqIERlYm91bmNlIHRpbWVvdXQgYmV0d2VlbiBrZXlwcmVzc2VzLiBEZWZhdWx0cyB0byA0MDAuXHJcblx0ICovXHJcblx0QElucHV0KCkgZGVib3VuY2U6IG51bWJlciA9IDQwMDtcclxuXHJcblx0LyoqXHJcblx0ICogcGxhY2Vob2xkZXI/OiBzdHJpbmdcclxuXHQgKiBQbGFjZWhvbGRlciBmb3IgdGhlIHVuZGVybHlpbmcgaW5wdXQgY29tcG9uZW50LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnRmlsdGVyLi4uJztcclxuXHJcblx0LyoqXHJcblx0ICogU2V0dGVycyBhbmQgZ2V0dGVycyBmb3IgdGhlIGlucHV0IHZhbHVlXHJcblx0ICovXHJcblx0Z2V0IHZhbHVlKCk6IGFueSB7IHJldHVybiB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdPy5yZXBsYWNlKHRoaXMub3BlcmF0b3IsICcnKT8udHJpbSgpOyB9O1xyXG5cdHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuXHRcdGlmICh2ICE9PSB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdKSB7XHJcblx0XHRcdHRoaXMudGFibGUuZGF0YVNvdXJjZVsnZmllbGRGaWx0ZXJzJ11bdGhpcy5maWVsZF0gPSB2ID8gYCR7dGhpcy5vcGVyYXRvciB8fCAnJ30ke3Z9YCA6ICcnO1xyXG5cdFx0XHR0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ3BhZ2luYXRvciddWydwYWdlSW5kZXgnXSA9IDA7XHJcblx0XHRcdHRoaXMub25DaGFuZ2Uodik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqIEBwYXJhbSB0YWJsZVxyXG5cdCAqIEBwYXJhbSBjb2x1bW5cclxuXHQgKi9cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LCBwcml2YXRlIGNvbHVtbjogQ2RrQ29sdW1uRGVmKSB7XHJcblx0XHR0aGlzLmZpZWxkID0gdGhpcy5jb2x1bW4ubmFtZS5yZXBsYWNlKCdmaWx0ZXIuJywgJycpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIG9mIGEgZGlyZWN0aXZlIGFyZSBpbml0aWFsaXplZC5cclxuXHQgKi9cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdGZyb21FdmVudCh0aGlzLl9maWx0ZXIubmF0aXZlRWxlbWVudCwgJ2tleXVwJylcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0ZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2UpLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuXHRcdFx0KS5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuXHRcdFx0XHRpZiAodmFsdWUgIT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLnJlbG9hZCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmV2ZW50cyB0aGUgZXZlbnQgZnJvbSBidWJibGluZyB1cCB0aGUgRE9NIHRyZWUsIHByZXZlbnRpbmcgYW55IHBhcmVudCBcclxuXHQgKiBoYW5kbGVycyBmcm9tIGJlaW5nIG5vdGlmaWVkIG9mIHRoZSBldmVudC5cclxuXHQgKi9cclxuXHRzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENhbGwgc2VyY2ggZXZlbnRcclxuXHQgKi9cclxuXHRoYW5kbGVTZWFyY2goZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcblx0XHR0aGlzLnN0b3BQcm9wYWdhdGlvbihldmVudCk7XHJcblx0XHR0aGlzLnJlbG9hZCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2xlYXJzIGlucHV0IGJveFxyXG5cdCAqL1xyXG5cdGNsZWFyU2VhcmNoKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMudmFsdWUgIT0gJycpIHtcclxuXHRcdFx0dGhpcy52YWx1ZSA9ICcnO1xyXG5cdFx0XHR0aGlzLnJlbG9hZCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogV3JpdGUgYSBuZXcgdmFsdWUgdG8gdGhlIGVsZW1lbnQuXHJcblx0ICovXHJcblx0d3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XHJcblx0XHR0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldCB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0b25DaGFuZ2UgPSAoXykgPT4geyB9O1xyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuXHJcblx0LyoqXHJcblx0ICogSGFuZGxlcyBrZXlkb3duIGV2ZW50c1xyXG5cdCAqIEBwYXJhbSBldmVudCBcclxuXHQgKi9cclxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlEb3duKGV2ZW50KSB7XHJcblx0XHRsZXQgZSA9IDxLZXlib2FyZEV2ZW50PmV2ZW50O1xyXG5cdFx0aWYgKHRoaXMub25seU51bWJlcikge1xyXG5cdFx0XHRpZiAoWzQ2LCA4LCA5LCAyNywgMTMsIDExMCwgMTkwXS5pbmRleE9mKGUua2V5Q29kZSkgIT09IC0xIHx8XHJcblx0XHRcdFx0LyogQWxsb3c6IEN0cmwrQSAqL1xyXG5cdFx0XHRcdChlLmtleUNvZGUgPT09IDY1ICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSkgfHxcclxuXHRcdFx0XHQvKiBBbGxvdzogQ3RybCtDICovXHJcblx0XHRcdFx0KGUua2V5Q29kZSA9PT0gNjcgJiYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpKSB8fFxyXG5cdFx0XHRcdC8qIEFsbG93OiBDdHJsK1YgKi9cclxuXHRcdFx0XHQoZS5rZXlDb2RlID09PSA4NiAmJiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkpIHx8XHJcblx0XHRcdFx0LyogQWxsb3c6IEN0cmwrWCAqL1xyXG5cdFx0XHRcdChlLmtleUNvZGUgPT09IDg4ICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSkgfHxcclxuXHRcdFx0XHQvKiBBbGxvdzogaG9tZSwgZW5kLCBsZWZ0LCByaWdodCAqL1xyXG5cdFx0XHRcdChlLmtleUNvZGUgPj0gMzUgJiYgZS5rZXlDb2RlIDw9IDM5KSkge1xyXG5cdFx0XHRcdC8qIGxldCBpdCBoYXBwZW4sIGRvbid0IGRvIGFueXRoaW5nICovXHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvKiBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3MgKi9cclxuXHRcdFx0aWYgKChlLnNoaWZ0S2V5IHx8IChlLmtleUNvZGUgPCA0OCB8fCBlLmtleUNvZGUgPiA1NykpICYmIChlLmtleUNvZGUgPCA5NiB8fCBlLmtleUNvZGUgPiAxMDUpKSB7XHJcblx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZWxvYWQgZGF0YVxyXG5cdCAqL1xyXG5cdHByaXZhdGUgcmVsb2FkID0gKCkgPT4gdGhpcy50YWJsZS5kYXRhU291cmNlWydyZWxvYWQnXSgpO1xyXG59Il19
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvZmlsdGVyLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFvQ3BFLE1BQU0sT0FBTyxvQkFBb0I7SUF5RGhDOzs7O09BSUc7SUFDSCxZQUFvQixLQUFvQixFQUFVLE1BQW9CO1FBQWxELFVBQUssR0FBTCxLQUFLLENBQWU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFjO1FBdkR0RTs7V0FFRztRQUNNLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFNUI7O1dBRUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBTy9COzs7V0FHRztRQUNNLGFBQVEsR0FBVyxHQUFHLENBQUM7UUFFaEM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFFM0M7O1dBRUc7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBd0Z2Qjs7V0FFRztRQUNILGFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXRCOztXQUVHO1FBQ0gsY0FB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SSxDQUFDLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUM5RixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDbkI7U0FDRDtJQUNGLENBQUM7O29JQWxLVyxvQkFBb0I7d0hBQXBCLG9CQUFvQixzVkFSckI7UUFDVjtZQUNDLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsRUFBQztZQUNuRCxLQUFLLEVBQUUsSUFBSTtTQUNYO0tBQ0Qsa0pBOUJTOzs7Ozs7O29CQU9TOzJGQXlCUCxvQkFBb0I7a0JBbENoQyxTQUFTOytCQUNDLGdGQUFnRixZQUNoRjs7Ozs7OztvQkFPUyxhQWlCUjt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxxQkFBcUIsRUFBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQ0Q7MEhBT3FELE9BQU87c0JBQTVELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLbkMsS0FBSztzQkFBYixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBVW1CLFNBQVM7c0JBQWpDLFlBQVk7dUJBQUMsU0FBUztnQkFDRyxVQUFVO3NCQUFuQyxZQUFZO3VCQUFDLFVBQVU7Z0JBZ0dhLFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbWF0LWhlYWRlci1jZWxsW2ZpbHRlci1pbnB1dF0sIFttYXQtaGVhZGVyLWNlbGxdW2ZpbHRlci1pbnB1dF0sIFtmaWx0ZXItaW5wdXRdJyxcclxuXHR0ZW1wbGF0ZTogYFxyXG5cdFx0PG1hdC1mb3JtLWZpZWxkIFtuZ0NsYXNzXT1cInsnZmlsdGVyLW5vdC1lbXB0eSc6IHZhbHVlfVwiIGZsZXg+XHJcblx0XHRcdDxpbnB1dCBtYXRJbnB1dCAjZmlsdGVyRWxlbWVudCBuZ0NvbnRyb2w9XCJmaWx0ZXJFbGVtZW50XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgdHlwZT1cImlucHV0XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiICAoc2VhcmNoKT1cInN0b3BQcm9wYWdhdGlvbigkZXZlbnQpXCIgKGtleXVwLmVudGVyKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQpXCIvPlxyXG5cdFx0XHQ8c3BhbiBtYXRQcmVmaXggKm5nSWY9XCIhdmFsdWUgJiYgIWZvY3VzZWRcIj48bWF0LWljb24+bWFuYWdlX3NlYXJjaDwvbWF0LWljb24+PC9zcGFuPlxyXG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJDbGVhclwiICpuZ0lmPVwidmFsdWVcIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9tYXQtZm9ybS1maWVsZD5gLFxyXG5cdHN0eWxlczogW2BcdFx0XHJcblx0XHQubWRjLWljb24tYnV0dG9uIHtcclxuXHRcdFx0cGFkZGluZzogM3B4O1xyXG5cdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0fVxyXG5cdFx0XHRcclxuXHRcdC5tZGMtaWNvbi1idXR0b24gbWF0LWljb24ge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4xMjU7XHJcbiAgICBcdFx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRcdH1cclxuXHJcblx0XHRtYXQtaWNvbiB7XHJcblx0XHRcdG9wYWNpdHk6IDAuNjtcclxuXHRcdH1cclxuXHRgXSxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbHRlcklucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH1cclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuXHQvKipcclxuXHQgKiBBIHJlZmVybmNlIHRvIHRoZSBpbnB1dCBlbGVtZW50XHJcblx0ICovXHJcblx0QFZpZXdDaGlsZCgnZmlsdGVyRWxlbWVudCcsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgX2ZpbHRlcjogRWxlbWVudFJlZjtcclxuXHJcblx0LyoqXHJcblx0ICogRmllbGQgbmFtZVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogUXVlcnkgb3BlcmF0b3JcclxuXHQgKi9cclxuXHRASW5wdXQoKSBvcGVyYXRvcjogc3RyaW5nID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9ubHkgbnVtYmVyXHJcblx0ICovXHJcblx0QElucHV0KCkgb25seU51bWJlcjogYm9vbGVhbjtcclxuXHJcblx0LyoqXHJcblx0ICogZGVib3VuY2U/OiBudW1iZXJcclxuXHQgKiBEZWJvdW5jZSB0aW1lb3V0IGJldHdlZW4ga2V5cHJlc3Nlcy4gRGVmYXVsdHMgdG8gNDAwLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGRlYm91bmNlOiBudW1iZXIgPSA0MDA7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHBsYWNlaG9sZGVyPzogc3RyaW5nXHJcblx0ICogUGxhY2Vob2xkZXIgZm9yIHRoZSB1bmRlcmx5aW5nIGlucHV0IGNvbXBvbmVudC5cclxuXHQgKi9cclxuXHRASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ0ZpbHRlci4uLic7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgZm9jdXNlZC5cclxuXHQgKi9cclxuXHRwdWJsaWMgZm9jdXNlZCA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBjb250cm9sIGlzIGZvY3VzZWQuXHJcblx0ICovXHJcblx0QEhvc3RMaXN0ZW5lcihcImZvY3VzaW5cIikgb25Gb2N1c0luKCkgeyB0aGlzLmZvY3VzZWQgPSB0cnVlOyB9XHJcblx0QEhvc3RMaXN0ZW5lcihcImZvY3Vzb3V0XCIpIG9uRm9jdXNPdXQoKSB7IHRoaXMuZm9jdXNlZCA9IGZhbHNlOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHRlcnMgYW5kIGdldHRlcnMgZm9yIHRoZSBpbnB1dCB2YWx1ZVxyXG5cdCAqL1xyXG5cdGdldCB2YWx1ZSgpOiBhbnkgeyByZXR1cm4gdGhpcy50YWJsZS5kYXRhU291cmNlWydmaWVsZEZpbHRlcnMnXVt0aGlzLmZpZWxkXT8ucmVwbGFjZSh0aGlzLm9wZXJhdG9yLCAnJyk/LnRyaW0oKTsgfTtcclxuXHRzZXQgdmFsdWUodjogYW55KSB7XHJcblx0XHRpZiAodiAhPT0gdGhpcy50YWJsZS5kYXRhU291cmNlWydmaWVsZEZpbHRlcnMnXVt0aGlzLmZpZWxkXSkge1xyXG5cdFx0XHR0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdID0gdiA/IGAke3RoaXMub3BlcmF0b3IgfHwgJyd9JHt2fWAgOiAnJztcclxuXHRcdFx0dGhpcy50YWJsZS5kYXRhU291cmNlWydwYWdpbmF0b3InXVsncGFnZUluZGV4J10gPSAwO1xyXG5cdFx0XHR0aGlzLm9uQ2hhbmdlKHYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gdGFibGVcclxuXHQgKiBAcGFyYW0gY29sdW1uXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSB0YWJsZTogTWF0VGFibGU8YW55PiwgcHJpdmF0ZSBjb2x1bW46IENka0NvbHVtbkRlZikge1xyXG5cdFx0dGhpcy5maWVsZCA9IHRoaXMuY29sdW1uLm5hbWUucmVwbGFjZSgnZmlsdGVyLicsICcnKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllcyBvZiBhIGRpcmVjdGl2ZSBhcmUgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRmcm9tRXZlbnQodGhpcy5fZmlsdGVyLm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlKSxcclxuXHRcdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcblx0XHRcdCkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcblx0XHRcdFx0aWYgKHZhbHVlICE9IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0dGhpcy5yZWxvYWQoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJldmVudHMgdGhlIGV2ZW50IGZyb20gYnViYmxpbmcgdXAgdGhlIERPTSB0cmVlLCBwcmV2ZW50aW5nIGFueSBwYXJlbnQgXHJcblx0ICogaGFuZGxlcnMgZnJvbSBiZWluZyBub3RpZmllZCBvZiB0aGUgZXZlbnQuXHJcblx0ICovXHJcblx0c3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsIHNlcmNoIGV2ZW50XHJcblx0ICovXHJcblx0aGFuZGxlU2VhcmNoKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zdG9wUHJvcGFnYXRpb24oZXZlbnQpO1xyXG5cdFx0dGhpcy5yZWxvYWQoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENsZWFycyBpbnB1dCBib3hcclxuXHQgKi9cclxuXHRjbGVhclNlYXJjaCgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLnZhbHVlICE9ICcnKSB7XHJcblx0XHRcdHRoaXMudmFsdWUgPSAnJztcclxuXHRcdFx0dGhpcy5yZWxvYWQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdyaXRlIGEgbmV3IHZhbHVlIHRvIHRoZSBlbGVtZW50LlxyXG5cdCAqL1xyXG5cdHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xyXG5cdFx0dGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBTZXQgdGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgY2hhbmdlIGV2ZW50LlxyXG5cdCAqL1xyXG5cdHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldCB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSB0b3VjaCBldmVudC5cclxuXHQgKi9cclxuXHRyZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgY2hhbmdlIGV2ZW50LlxyXG5cdCAqL1xyXG5cdG9uQ2hhbmdlID0gKF8pID0+IHsgfTtcclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSB0b3VjaCBldmVudC5cclxuXHQgKi9cclxuXHRvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG5cdC8qKlxyXG5cdCAqIEhhbmRsZXMga2V5ZG93biBldmVudHNcclxuXHQgKiBAcGFyYW0gZXZlbnQgXHJcblx0ICovXHJcblx0QEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5RG93bihldmVudCkge1xyXG5cdFx0bGV0IGUgPSA8S2V5Ym9hcmRFdmVudD5ldmVudDtcclxuXHRcdGlmICh0aGlzLm9ubHlOdW1iZXIpIHtcclxuXHRcdFx0aWYgKFs0NiwgOCwgOSwgMjcsIDEzLCAxMTAsIDE5MF0uaW5kZXhPZihlLmtleUNvZGUpICE9PSAtMSB8fFxyXG5cdFx0XHRcdC8qIEFsbG93OiBDdHJsK0EgKi9cclxuXHRcdFx0XHQoZS5rZXlDb2RlID09PSA2NSAmJiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkpIHx8XHJcblx0XHRcdFx0LyogQWxsb3c6IEN0cmwrQyAqL1xyXG5cdFx0XHRcdChlLmtleUNvZGUgPT09IDY3ICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSkgfHxcclxuXHRcdFx0XHQvKiBBbGxvdzogQ3RybCtWICovXHJcblx0XHRcdFx0KGUua2V5Q29kZSA9PT0gODYgJiYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpKSB8fFxyXG5cdFx0XHRcdC8qIEFsbG93OiBDdHJsK1ggKi9cclxuXHRcdFx0XHQoZS5rZXlDb2RlID09PSA4OCAmJiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkpIHx8XHJcblx0XHRcdFx0LyogQWxsb3c6IGhvbWUsIGVuZCwgbGVmdCwgcmlnaHQgKi9cclxuXHRcdFx0XHQoZS5rZXlDb2RlID49IDM1ICYmIGUua2V5Q29kZSA8PSAzOSkpIHtcclxuXHRcdFx0XHQvKiBsZXQgaXQgaGFwcGVuLCBkb24ndCBkbyBhbnl0aGluZyAqL1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LyogRW5zdXJlIHRoYXQgaXQgaXMgYSBudW1iZXIgYW5kIHN0b3AgdGhlIGtleXByZXNzICovXHJcblx0XHRcdGlmICgoZS5zaGlmdEtleSB8fCAoZS5rZXlDb2RlIDwgNDggfHwgZS5rZXlDb2RlID4gNTcpKSAmJiAoZS5rZXlDb2RlIDwgOTYgfHwgZS5rZXlDb2RlID4gMTA1KSkge1xyXG5cdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmVsb2FkIGRhdGFcclxuXHQgKi9cclxuXHRwcml2YXRlIHJlbG9hZCA9ICgpID0+IHRoaXMudGFibGUuZGF0YVNvdXJjZVsncmVsb2FkJ10oKTtcclxufSJdfQ==
|
|
@@ -2,9 +2,9 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
|
2
2
|
import { TemplatePortalDirective } from '@angular/cdk/portal';
|
|
3
3
|
import { CdkColumnDef } from '@angular/cdk/table';
|
|
4
4
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
5
|
-
import { Component, ContentChild, Directive, ElementRef, forwardRef, Injector, Input, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
5
|
+
import { Component, ContentChild, Directive, ElementRef, forwardRef, HostListener, Injector, Input, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
|
-
import { MatSelect } from '@angular/material/select';
|
|
7
|
+
import { MatSelect, MAT_SELECT_CONFIG } from '@angular/material/select';
|
|
8
8
|
import { MatTable } from '@angular/material/table';
|
|
9
9
|
import { BehaviorSubject } from 'rxjs';
|
|
10
10
|
import { EnumService } from '../../common/services/enum.service';
|
|
@@ -16,14 +16,15 @@ import * as i4 from "@angular/forms";
|
|
|
16
16
|
import * as i5 from "@angular/material/form-field";
|
|
17
17
|
import * as i6 from "@angular/material/select";
|
|
18
18
|
import * as i7 from "@angular/material/core";
|
|
19
|
+
import * as i8 from "@angular/material/icon";
|
|
19
20
|
export class VdFilterOptionDirective extends TemplatePortalDirective {
|
|
20
21
|
constructor(templateRef, viewContainerRef) {
|
|
21
22
|
super(templateRef, viewContainerRef);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
/** @nocollapse */ VdFilterOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
25
|
-
/** @nocollapse */ VdFilterOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
25
|
+
/** @nocollapse */ VdFilterOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: VdFilterOptionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
+
/** @nocollapse */ VdFilterOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.1", type: VdFilterOptionDirective, selector: "[vd-filter-option]ng-template", usesInheritance: true, ngImport: i0 });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: VdFilterOptionDirective, decorators: [{
|
|
27
28
|
type: Directive,
|
|
28
29
|
args: [{ selector: '[vd-filter-option]ng-template' }]
|
|
29
30
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
@@ -88,6 +89,10 @@ export class FilterSelectComponent {
|
|
|
88
89
|
* The http service from to get the data
|
|
89
90
|
*/
|
|
90
91
|
this.http = null;
|
|
92
|
+
/**
|
|
93
|
+
* Whether the control is focused.
|
|
94
|
+
*/
|
|
95
|
+
this.focused = false;
|
|
91
96
|
/**
|
|
92
97
|
* Called when the control receives a change event.
|
|
93
98
|
*/
|
|
@@ -159,6 +164,11 @@ export class FilterSelectComponent {
|
|
|
159
164
|
this.onChange(v);
|
|
160
165
|
}
|
|
161
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Whether the control is focused.
|
|
169
|
+
*/
|
|
170
|
+
onFocusIn() { this.focused = true; }
|
|
171
|
+
onFocusOut() { this.focused = false; }
|
|
162
172
|
/**
|
|
163
173
|
* Lifecycle hook that is called after data-bound properties of a directive are initialized.
|
|
164
174
|
*/
|
|
@@ -227,16 +237,21 @@ export class FilterSelectComponent {
|
|
|
227
237
|
*/
|
|
228
238
|
registerOnTouched(fn) { this.onTouched = fn; }
|
|
229
239
|
}
|
|
230
|
-
/** @nocollapse */ FilterSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
231
|
-
/** @nocollapse */ FilterSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
240
|
+
/** @nocollapse */ FilterSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FilterSelectComponent, deps: [{ token: i0.Injector }, { token: i1.MatTable }, { token: i2.CdkColumnDef }], target: i0.ɵɵFactoryTarget.Component });
|
|
241
|
+
/** @nocollapse */ FilterSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FilterSelectComponent, selector: "mat-header-cell[filter-select], [mat-header-cell][filter-select], [filter-select]", inputs: { endpoint: "endpoint", params: "params", projection: "projection", sortBy: "sortBy", sorted: "sorted", enum: "enum", key: "key", text: "text", prefix: "prefix", multiple: "multiple", options: "options", filteredOptions: "filteredOptions", filterable: "filterable", field: "field", placeholder: "placeholder", cache: "cache" }, host: { listeners: { "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, providers: [
|
|
232
242
|
{
|
|
233
243
|
provide: NG_VALUE_ACCESSOR,
|
|
234
244
|
useExisting: forwardRef((() => FilterSelectComponent)),
|
|
235
245
|
multi: true
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
provide: MAT_SELECT_CONFIG,
|
|
249
|
+
useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
|
|
236
250
|
}
|
|
237
251
|
], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdFilterOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelect, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: `
|
|
238
|
-
<mat-form-field flex>
|
|
239
|
-
<
|
|
252
|
+
<mat-form-field [ngClass]="{'filter-not-empty': value}" flex>
|
|
253
|
+
<span matPrefix *ngIf="!value && value!=0 && !focused"><mat-icon>manage_search</mat-icon></span>
|
|
254
|
+
<mat-select type="input" [(ngModel)]="value" [multiple]="multiple">
|
|
240
255
|
<input #filterInput *ngIf="filterable" type="text" placeholder="Filter..." class="vd-select-filter" (keyup)="handleFilter($event)">
|
|
241
256
|
<mat-option *ngIf="!multiple" class="tc-grey-500"></mat-option>
|
|
242
257
|
<ng-template let-option let-first="first" ngFor [ngForOf]="filteredOptions">
|
|
@@ -246,12 +261,13 @@ export class FilterSelectComponent {
|
|
|
246
261
|
</mat-option>
|
|
247
262
|
</ng-template>
|
|
248
263
|
</mat-select>
|
|
249
|
-
</mat-form-field>`, isInline: true, styles: [".vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:11px 16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
264
|
+
</mat-form-field>`, isInline: true, styles: [".vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:11px 16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color:inherit;color:inherit;outline:none}mat-icon{opacity:.7}::ng-deep .vd-select-filter-overlay{min-width:150px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FilterSelectComponent, decorators: [{
|
|
251
266
|
type: Component,
|
|
252
267
|
args: [{ selector: 'mat-header-cell[filter-select], [mat-header-cell][filter-select], [filter-select]', template: `
|
|
253
|
-
<mat-form-field flex>
|
|
254
|
-
<
|
|
268
|
+
<mat-form-field [ngClass]="{'filter-not-empty': value}" flex>
|
|
269
|
+
<span matPrefix *ngIf="!value && value!=0 && !focused"><mat-icon>manage_search</mat-icon></span>
|
|
270
|
+
<mat-select type="input" [(ngModel)]="value" [multiple]="multiple">
|
|
255
271
|
<input #filterInput *ngIf="filterable" type="text" placeholder="Filter..." class="vd-select-filter" (keyup)="handleFilter($event)">
|
|
256
272
|
<mat-option *ngIf="!multiple" class="tc-grey-500"></mat-option>
|
|
257
273
|
<ng-template let-option let-first="first" ngFor [ngForOf]="filteredOptions">
|
|
@@ -266,8 +282,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
|
|
|
266
282
|
provide: NG_VALUE_ACCESSOR,
|
|
267
283
|
useExisting: forwardRef((() => FilterSelectComponent)),
|
|
268
284
|
multi: true
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
provide: MAT_SELECT_CONFIG,
|
|
288
|
+
useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
|
|
269
289
|
}
|
|
270
|
-
], styles: [".vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:11px 16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color
|
|
290
|
+
], styles: [".vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:11px 16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color:inherit;color:inherit;outline:none}mat-icon{opacity:.7}::ng-deep .vd-select-filter-overlay{min-width:150px}\n"] }]
|
|
271
291
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.MatTable }, { type: i2.CdkColumnDef }]; }, propDecorators: { optionTemplate: [{
|
|
272
292
|
type: ContentChild,
|
|
273
293
|
args: [VdFilterOptionDirective]
|
|
@@ -309,5 +329,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
|
|
|
309
329
|
type: Input
|
|
310
330
|
}], cache: [{
|
|
311
331
|
type: Input
|
|
332
|
+
}], onFocusIn: [{
|
|
333
|
+
type: HostListener,
|
|
334
|
+
args: ["focusin"]
|
|
335
|
+
}], onFocusOut: [{
|
|
336
|
+
type: HostListener,
|
|
337
|
+
args: ["focusout"]
|
|
312
338
|
}] } });
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9jb21wb25lbnRzL2ZpbHRlci1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7O0FBR2pFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7SUFDbkUsWUFBWSxXQUE2QixFQUFFLGdCQUFrQztRQUM1RSxLQUFLLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDdEMsQ0FBQzs7dUlBSFcsdUJBQXVCOzJIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsU0FBUztt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QUFFO2dCQU9oQyxXQUFXO3NCQURqQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBa0J2QyxRQUFRO3NCQURYLEtBQUs7Z0JBWUYsTUFBTTtzQkFEVCxLQUFLO2dCQXdCRixVQUFVO3NCQURiLEtBQUs7Z0JBV0MsTUFBTTtzQkFEWixLQUFLO2dCQVlGLE1BQU07c0JBRFQsS0FBSztnQkFXRSxJQUFJO3NCQURYLEtBQUs7Z0JBT0MsR0FBRztzQkFEVCxLQUFLO2dCQU9DLElBQUk7c0JBRFYsS0FBSztnQkFPQyxNQUFNO3NCQURaLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkFTQyxlQUFlO3NCQURyQixLQUFLO2dCQU9DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWxEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnVtU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9lbnVtLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3ZkLWZpbHRlci1vcHRpb25dbmctdGVtcGxhdGUnIH0pXHJcbmV4cG9ydCBjbGFzcyBWZEZpbHRlck9wdGlvbkRpcmVjdGl2ZSBleHRlbmRzIFRlbXBsYXRlUG9ydGFsRGlyZWN0aXZlIHtcclxuXHRjb25zdHJ1Y3Rvcih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Piwgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cdFx0c3VwZXIodGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXJSZWYpO1xyXG5cdH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdtYXQtaGVhZGVyLWNlbGxbZmlsdGVyLXNlbGVjdF0sIFttYXQtaGVhZGVyLWNlbGxdW2ZpbHRlci1zZWxlY3RdLCBbZmlsdGVyLXNlbGVjdF0nLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHQ8bWF0LWZvcm0tZmllbGQgZmxleD5cclxuXHRcdFx0PG1hdC1zZWxlY3QgdHlwZT1cImlucHV0XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiPlxyXG5cdFx0XHRcdDxpbnB1dCAjZmlsdGVySW5wdXQgKm5nSWY9XCJmaWx0ZXJhYmxlXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIkZpbHRlci4uLlwiIGNsYXNzPVwidmQtc2VsZWN0LWZpbHRlclwiIChrZXl1cCk9XCJoYW5kbGVGaWx0ZXIoJGV2ZW50KVwiPlxyXG5cdFx0XHRcdDxtYXQtb3B0aW9uICpuZ0lmPVwiIW11bHRpcGxlXCIgY2xhc3M9XCJ0Yy1ncmV5LTUwMFwiPjwvbWF0LW9wdGlvbj5cclxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgbGV0LW9wdGlvbiBsZXQtZmlyc3Q9XCJmaXJzdFwiIG5nRm9yIFtuZ0Zvck9mXT1cImZpbHRlcmVkT3B0aW9uc1wiPlxyXG5cdFx0XHRcdFx0PG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbltrZXldXCI+XHJcblx0XHRcdFx0XHRcdDxzcGFuICpuZ0lmPVwiIW9wdGlvblRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIGkxOG49XCJAQHNlbGVjdGlvblwiPntvcHRpb24ubmFtZSwgc2VsZWN0LCBvcHRpb24ge29wdGlvbn0gb3RoZXIge3t7b3B0aW9uW3RleHRdfX19fTwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uVGVtcGxhdGU/LnRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGUudGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbiB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDwvbWF0LW9wdGlvbj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L21hdC1zZWxlY3Q+XHJcblx0XHQ8L21hdC1mb3JtLWZpZWxkPmAsXHJcblx0c3R5bGVzOiBbYFxyXG5cdFx0LnZkLXNlbGVjdC1maWx0ZXIge1xyXG5cdFx0XHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHotaW5kZXg6IDEwMDtcclxuXHRcdFx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAxMXB4IDE2cHg7XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG5cdFx0XHRvdXRsaW5lOiBub25lO1xyXG5cdFx0fWBcclxuXHRdLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVyU2VsZWN0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH1cclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHQvKipcclxuXHQgKiBWZENoaXAgdGVtcGxhdGVcclxuXHQgKi9cclxuXHRAQ29udGVudENoaWxkKFZkRmlsdGVyT3B0aW9uRGlyZWN0aXZlKVxyXG5cdHB1YmxpYyBvcHRpb25UZW1wbGF0ZTogVmRGaWx0ZXJPcHRpb25EaXJlY3RpdmU7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBUaGUgc2VsZWN0IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZChNYXRTZWxlY3QsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG5cdHB1YmxpYyBzZWxlY3RFbDogTWF0U2VsZWN0O1xyXG5cclxuXHQvKiogXHJcblx0ICogVGhlIHNlbGVjdCBlbGVtZW50LlxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoJ2ZpbHRlcklucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcblx0cHVibGljIGZpbHRlcklucHV0OiBFbGVtZW50UmVmO1xyXG5cclxuXHQvKipcclxuXHQgKiBSZXByZXNlbnRzIGEgdmFsdWUgdGhhdCBjaGFuZ2VzIG92ZXIgdGltZS4gXHJcblx0ICogT2JzZXJ2ZXJzIGNhbiBzdWJzY3JpYmUgdG8gdGhlIHN1YmplY3QgdG8gcmVjZWl2ZSBwZGYgZmlsZSBjaGFuZ2VzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfZW5kcG9pbnRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIHBkZiBlbmRwb2ludFxyXG5cdCAqL1xyXG5cdGdldCBlbmRwb2ludCgpOiBhbnkgeyByZXR1cm4gdGhpcy5fZW5kcG9pbnRDaGFuZ2UudmFsdWU7IH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0cyBwZGYgZW5kcG9pbnRcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHNldCBlbmRwb2ludChlbmRwb2ludDogYW55KSB7IHRoaXMuX2VuZHBvaW50Q2hhbmdlLm5leHQoQXJyYXkuaXNBcnJheShlbmRwb2ludCkgPyBlbmRwb2ludC5qb2luKCcnKSA6IGVuZHBvaW50KTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBfcGFyYW1zOiBhbnlcclxuXHQgKi9cclxuXHRwdWJsaWMgX3BhcmFtczogYW55ID0ge307XHJcblxyXG5cdC8qKlxyXG5cdCAqIHBhcmFtczogYW55XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgcGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zOyB9XHJcblx0c2V0IHBhcmFtcyhxdWVyeTogYW55KSB7XHJcblx0XHR0aGlzLl9wYXJhbXMgPSBxdWVyeTtcclxuXHJcblx0XHQvKiBSZW1vdmUgZW1wdHkgcGFyYW1zICovXHJcblx0XHRPYmplY3Qua2V5cyh0aGlzLl9wYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG5cdFx0XHRpZiAoKHRoaXMuX3BhcmFtc1trZXldID09IG51bGwgfHwgdGhpcy5fcGFyYW1zW2tleV0gPT0gJycgfHwgdGhpcy5fcGFyYW1zW2tleV0gPT0gJ3VuZGVmaW5lZCcpKSB7XHJcblx0XHRcdFx0ZGVsZXRlIHRoaXMuX3BhcmFtc1trZXldO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLl9lbmRwb2ludENoYW5nZS5uZXh0KFt0aGlzLmVuZHBvaW50LCB0aGlzLnBhcmFtcywgdGhpcy5wcm9qZWN0aW9uXSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBfcHJvamVjdGlvbjogYW55XHJcblx0ICovXHJcblx0cHVibGljIF9wcm9qZWN0aW9uOiBzdHJpbmc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHByb2plY3Rpb246IGFueVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHByb2plY3Rpb24oKSB7IHJldHVybiB0aGlzLl9wcm9qZWN0aW9uOyB9XHJcblx0c2V0IHByb2plY3Rpb24ocHJvamVjdGlvbjogc3RyaW5nKSB7XHJcblx0XHR0aGlzLl9wcm9qZWN0aW9uID0gcHJvamVjdGlvbjtcclxuXHRcdHRoaXMuX2VuZHBvaW50Q2hhbmdlLm5leHQoW3RoaXMuZW5kcG9pbnQsIHRoaXMucGFyYW1zLCB0aGlzLnByb2plY3Rpb25dKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIHNvcnRCeT9cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzb3J0Qnk6IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogU29ydHMgb3B0aW9uc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBfc29ydGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogU29ydHMgb3B0aW9uc1xyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHNvcnRlZCgpIHsgcmV0dXJuIHRoaXMuX3NvcnRlZDsgfVxyXG5cdHNldCBzb3J0ZWQobXVsdGkpIHtcclxuXHRcdHRoaXMuX3NvcnRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShtdWx0aSk7XHJcblx0XHR0aGlzLl9lbmRwb2ludENoYW5nZS5uZXh0KFt0aGlzLmVuZHBvaW50LCB0aGlzLnBhcmFtcywgdGhpcy5wcm9qZWN0aW9uXSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgZW5kcG9pbnRcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHByaXZhdGUgZW51bTogYW55O1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUga2V5XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMga2V5OiBhbnkgPSAnaWQnO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgdGV4dFxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHRleHQ6IGFueSA9ICduYW1lJztcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIHByZWZpeFxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHByZWZpeDogYW55ID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG11bHRpcGxlP1xyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wdGlvbiBsaXN0XHJcblx0ICovXHJcblx0cHVibGljIF9vcHRpb25zOiBhbnk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wdGlvbiBsaXN0XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgb3B0aW9ucygpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnM7IH1cclxuXHRzZXQgb3B0aW9ucyh2YWx1ZSkge1xyXG5cdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLl9vcHRpb25zID0gdmFsdWU7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIGZpbHRlcmVkIG9wdGlvbiBsaXN0XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBhbnk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGZpbHRlcmFibGU/XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZmlsdGVyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEZpZWxkIG5hbWVcclxuXHQgKi9cclxuXHRASW5wdXQoKSBmaWVsZDogc3RyaW5nID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHBsYWNlaG9sZGVyPzogc3RyaW5nXHJcblx0ICogUGxhY2Vob2xkZXIgZm9yIHRoZSB1bmRlcmx5aW5nIGlucHV0IGNvbXBvbmVudC5cclxuXHQgKi9cclxuXHRASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ0ZpbHRlci4uLic7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGNhY2hlP1xyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGNhY2hlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGh0dHAgc2VydmljZSBmcm9tIHRvIGdldCB0aGUgZGF0YVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50ID0gbnVsbDtcclxuXHJcblx0LyoqXHJcblx0ICogU2V0dGVycyBhbmQgZ2V0dGVycyBmb3IgdGhlIHNlbGVjdCB2YWx1ZVxyXG5cdCAqL1xyXG5cdGdldCB2YWx1ZSgpOiBhbnkgeyByZXR1cm4gdGhpcy50YWJsZS5kYXRhU291cmNlWydmaWVsZEZpbHRlcnMnXVt0aGlzLmZpZWxkXTsgfTtcclxuXHRzZXQgdmFsdWUodjogYW55KSB7XHJcblx0XHRpZiAodiAhPSB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdKSB7XHJcblx0XHRcdHRoaXMudGFibGUuZGF0YVNvdXJjZVsnZmllbGRGaWx0ZXJzJ11bdGhpcy5maWVsZF0gPSB2O1xyXG5cdFx0XHR0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ3BhZ2luYXRvciddWydwYWdlSW5kZXgnXSA9IDA7XHJcblx0XHRcdHRoaXMudGFibGUuZGF0YVNvdXJjZVsncmVsb2FkJ10oKTtcclxuXHRcdFx0dGhpcy5vbkNoYW5nZSh2KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbnN0cnVjdG9yXHJcblx0ICogQHBhcmFtIGluamVjdG9yXHJcblx0ICogQHBhcmFtIHRhYmxlIFxyXG5cdCAqIEBwYXJhbSBjb2x1bW5cclxuXHQgKi9cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSB0YWJsZTogTWF0VGFibGU8YW55PiwgcHJpdmF0ZSBjb2x1bW46IENka0NvbHVtbkRlZikge1xyXG5cdFx0dGhpcy5maWVsZCA9IHRoaXMuY29sdW1uLm5hbWUucmVwbGFjZSgnZmlsdGVyLicsICcnKTtcclxuXHJcblx0XHRpZiAoIXRoaXMuZW51bSkge1xyXG5cdFx0XHR0aGlzLmh0dHAgPSBpbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBkYXRhLWJvdW5kIHByb3BlcnRpZXMgb2YgYSBkaXJlY3RpdmUgYXJlIGluaXRpYWxpemVkLlxyXG5cdCAqL1xyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0aWYgKHRoaXMuZW51bSkge1xyXG5cdFx0XHR0aGlzLm9wdGlvbnMgPSBFbnVtU2VydmljZS50b0FycmF5KHRoaXMuZW51bSwgdGhpcy5wcmVmaXgpO1xyXG5cdFx0XHR0aGlzLmZpbHRlcmFibGUgPSBmYWxzZTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5lbmRwb2ludCkge1xyXG5cdFx0XHR0aGlzLl9lbmRwb2ludENoYW5nZS5zdWJzY3JpYmUoKGVuZHBvaW50OiBzdHJpbmcpID0+IHtcclxuXHRcdFx0XHRsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG5cdFx0XHRcdGlmICh0aGlzLmNhY2hlKSB7XHJcblx0XHRcdFx0XHRoZWFkZXJzLnNldCgnQ2xpZW50LUNhY2hlJywgJ1llcycpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyogSW5pdCBwYXJhbXMsIGlmIG51bGwgKi9cclxuXHRcdFx0XHR0aGlzLl9wYXJhbXMgfHw9IHt9O1xyXG5cclxuXHRcdFx0XHQvKiBBZGQgcHJvamVjdGlvbiwgaWYgYW55ICovXHJcblx0XHRcdFx0aWYgKHRoaXMucHJvamVjdGlvbikge1xyXG5cdFx0XHRcdFx0dGhpcy5fcGFyYW1zLnByb2plY3Rpb24gPSB0aGlzLnByb2plY3Rpb247XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBBZGQgc29ydGluZyAqL1xyXG5cdFx0XHRcdHZhciB1cmwgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHRoaXMuZW5kcG9pbnQpO1xyXG5cdFx0XHRcdGlmICghdGhpcy5fcGFyYW1zLnNvcnRCeSAmJiAhdXJsLmhhcygnc29ydEJ5JykgJiYgKHRoaXMuc29ydEJ5IHx8IHRoaXMuc29ydGVkKSkge1xyXG5cdFx0XHRcdFx0dGhpcy5fcGFyYW1zLnNvcnRCeSA9IHRoaXMuc29ydEJ5IHx8IHRoaXMudGV4dDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRoaXMuaHR0cC5nZXQodGhpcy5lbmRwb2ludCwgeyBwYXJhbXM6IHRoaXMuX3BhcmFtcywgaGVhZGVyczogaGVhZGVycyB9KS5zdWJzY3JpYmUoeCA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLm9wdGlvbnMgPSB4O1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgY2FsbGJhY2sgbWV0aG9kIHRoYXQgaXMgaW52b2tlZCBpbW1lZGlhdGVseSBhZnRlclxyXG5cdCAqIEFuZ3VsYXIgaGFzIGNvbXBsZXRlZCBpbml0aWFsaXphdGlvbiBvZiBhIGNvbXBvbmVudCdzIHZpZXcuXHJcblx0ICogSXQgaXMgaW52b2tlZCBvbmx5IG9uY2Ugd2hlbiB0aGUgdmlldyBpcyBpbnN0YW50aWF0ZWQuXHJcblx0ICpcclxuXHQgKi9cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnNlbGVjdEVsPy5vcGVuZWRDaGFuZ2U/LnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0aWYgKHggJiYgdGhpcy5maWx0ZXJhYmxlKSB7XHJcblx0XHRcdFx0dGhpcy5maWx0ZXJJbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdyaXRlIGEgbmV3IHZhbHVlIHRvIHRoZSBlbGVtZW50LlxyXG5cdCAqL1xyXG5cdHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xyXG5cdFx0dGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBIYW5kZWxzIGZpbHRlciBldmVudFxyXG5cdCAqIEBwYXJhbSAkZXZlbnQgXHJcblx0ICovXHJcblx0cHVibGljIGhhbmRsZUZpbHRlcigkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcblx0XHRsZXQgc2VhcmNoVGV4dDogc3RyaW5nID0gKCgkZXZlbnQ/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUgPz8gJycpLnRvTG93ZXJDYXNlKCk7XHJcblx0XHR0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKHg6IGFueSkgPT4geFt0aGlzLnRleHRdPy50b0xvd2VyQ2FzZSgpLnNlYXJjaChzZWFyY2hUZXh0KSA+IC0xKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldCB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBjaGFuZ2UgZXZlbnQuXHJcblx0ICovXHJcblx0b25DaGFuZ2UgPSAoXykgPT4geyB9O1xyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIHRvdWNoIGV2ZW50LlxyXG5cdCAqL1xyXG5cdG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxufSJdfQ==
|
|
339
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9jb21wb25lbnRzL2ZpbHRlci1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUssT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7QUFHakUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHVCQUF1QjtJQUNuRSxZQUFZLFdBQTZCLEVBQUUsZ0JBQWtDO1FBQzVFLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxDQUFDOzt1SUFIVyx1QkFBdUI7MkhBQXZCLHVCQUF1QjsyRkFB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bSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWxEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3QsIE1BVF9TRUxFQ1RfQ09ORklHIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnVtU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9lbnVtLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3ZkLWZpbHRlci1vcHRpb25dbmctdGVtcGxhdGUnIH0pXHJcbmV4cG9ydCBjbGFzcyBWZEZpbHRlck9wdGlvbkRpcmVjdGl2ZSBleHRlbmRzIFRlbXBsYXRlUG9ydGFsRGlyZWN0aXZlIHtcclxuXHRjb25zdHJ1Y3Rvcih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Piwgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cdFx0c3VwZXIodGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXJSZWYpO1xyXG5cdH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdtYXQtaGVhZGVyLWNlbGxbZmlsdGVyLXNlbGVjdF0sIFttYXQtaGVhZGVyLWNlbGxdW2ZpbHRlci1zZWxlY3RdLCBbZmlsdGVyLXNlbGVjdF0nLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHQ8bWF0LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieydmaWx0ZXItbm90LWVtcHR5JzogdmFsdWV9XCIgZmxleD5cclxuXHRcdFx0PHNwYW4gbWF0UHJlZml4ICpuZ0lmPVwiIXZhbHVlICYmIHZhbHVlIT0wICYmICFmb2N1c2VkXCI+PG1hdC1pY29uPm1hbmFnZV9zZWFyY2g8L21hdC1pY29uPjwvc3Bhbj5cclxuXHRcdFx0PG1hdC1zZWxlY3QgdHlwZT1cImlucHV0XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiPlxyXG5cdFx0XHRcdDxpbnB1dCAjZmlsdGVySW5wdXQgKm5nSWY9XCJmaWx0ZXJhYmxlXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIkZpbHRlci4uLlwiIGNsYXNzPVwidmQtc2VsZWN0LWZpbHRlclwiIChrZXl1cCk9XCJoYW5kbGVGaWx0ZXIoJGV2ZW50KVwiPlxyXG5cdFx0XHRcdDxtYXQtb3B0aW9uICpuZ0lmPVwiIW11bHRpcGxlXCIgY2xhc3M9XCJ0Yy1ncmV5LTUwMFwiPjwvbWF0LW9wdGlvbj5cclxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgbGV0LW9wdGlvbiBsZXQtZmlyc3Q9XCJmaXJzdFwiIG5nRm9yIFtuZ0Zvck9mXT1cImZpbHRlcmVkT3B0aW9uc1wiPlxyXG5cdFx0XHRcdFx0PG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbltrZXldXCI+XHJcblx0XHRcdFx0XHRcdDxzcGFuICpuZ0lmPVwiIW9wdGlvblRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIGkxOG49XCJAQHNlbGVjdGlvblwiPntvcHRpb24ubmFtZSwgc2VsZWN0LCBvcHRpb24ge29wdGlvbn0gb3RoZXIge3t7b3B0aW9uW3RleHRdfX19fTwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uVGVtcGxhdGU/LnRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGUudGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbiB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDwvbWF0LW9wdGlvbj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L21hdC1zZWxlY3Q+XHJcblx0XHQ8L21hdC1mb3JtLWZpZWxkPmAsXHJcblx0c3R5bGVzOiBbYFxyXG5cdFx0LnZkLXNlbGVjdC1maWx0ZXIge1xyXG5cdFx0XHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHotaW5kZXg6IDEwMDtcclxuXHRcdFx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAxMXB4IDE2cHg7XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdH1cclxuXHRcdG1hdC1pY29uIHtcclxuXHRcdFx0b3BhY2l0eTogMC43O1xyXG5cdFx0fVxyXG5cdFx0OjpuZy1kZWVwIC52ZC1zZWxlY3QtZmlsdGVyLW92ZXJsYXkge1xyXG5cdFx0XHRtaW4td2lkdGg6IDE1MHB4O1xyXG5cdFx0fVxyXG5cdGBdLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVyU2VsZWN0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE1BVF9TRUxFQ1RfQ09ORklHLFxyXG5cdFx0XHR1c2VWYWx1ZTogeyBvdmVybGF5UGFuZWxDbGFzczogJ3ZkLXNlbGVjdC1maWx0ZXItb3ZlcmxheScgfVxyXG5cdFx0fVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cdC8qKlxyXG5cdCAqIFZkQ2hpcCB0ZW1wbGF0ZVxyXG5cdCAqL1xyXG5cdEBDb250ZW50Q2hpbGQoVmRGaWx0ZXJPcHRpb25EaXJlY3RpdmUpXHJcblx0cHVibGljIG9wdGlvblRlbXBsYXRlOiBWZEZpbHRlck9wdGlvbkRpcmVjdGl2ZTtcclxuXHJcblx0LyoqIFxyXG5cdCAqIFRoZSBzZWxlY3QgZWxlbWVudC5cclxuXHQgKi9cclxuXHRAVmlld0NoaWxkKE1hdFNlbGVjdCwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcblx0cHVibGljIHNlbGVjdEVsOiBNYXRTZWxlY3Q7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBUaGUgc2VsZWN0IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZCgnZmlsdGVySW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuXHRwdWJsaWMgZmlsdGVySW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlcHJlc2VudHMgYSB2YWx1ZSB0aGF0IGNoYW5nZXMgb3ZlciB0aW1lLiBcclxuXHQgKiBPYnNlcnZlcnMgY2FuIHN1YnNjcmliZSB0byB0aGUgc3ViamVjdCB0byByZWNlaXZlIHBkZiBmaWxlIGNoYW5nZXNcclxuXHQgKi9cclxuXHRwcml2YXRlIF9lbmRwb2ludENoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgcGRmIGVuZHBvaW50XHJcblx0ICovXHJcblx0Z2V0IGVuZHBvaW50KCk6IGFueSB7IHJldHVybiB0aGlzLl9lbmRwb2ludENoYW5nZS52YWx1ZTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBTZXRzIHBkZiBlbmRwb2ludFxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0c2V0IGVuZHBvaW50KGVuZHBvaW50OiBhbnkpIHsgdGhpcy5fZW5kcG9pbnRDaGFuZ2UubmV4dChBcnJheS5pc0FycmF5KGVuZHBvaW50KSA/IGVuZHBvaW50LmpvaW4oJycpIDogZW5kcG9pbnQpOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIF9wYXJhbXM6IGFueVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBfcGFyYW1zOiBhbnkgPSB7fTtcclxuXHJcblx0LyoqXHJcblx0ICogcGFyYW1zOiBhbnlcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBwYXJhbXMoKSB7IHJldHVybiB0aGlzLl9wYXJhbXM7IH1cclxuXHRzZXQgcGFyYW1zKHF1ZXJ5OiBhbnkpIHtcclxuXHRcdHRoaXMuX3BhcmFtcyA9IHF1ZXJ5O1xyXG5cclxuXHRcdC8qIFJlbW92ZSBlbXB0eSBwYXJhbXMgKi9cclxuXHRcdE9iamVjdC5rZXlzKHRoaXMuX3BhcmFtcykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcblx0XHRcdGlmICgodGhpcy5fcGFyYW1zW2tleV0gPT0gbnVsbCB8fCB0aGlzLl9wYXJhbXNba2V5XSA9PSAnJyB8fCB0aGlzLl9wYXJhbXNba2V5XSA9PSAndW5kZWZpbmVkJykpIHtcclxuXHRcdFx0XHRkZWxldGUgdGhpcy5fcGFyYW1zW2tleV07XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMuX2VuZHBvaW50Q2hhbmdlLm5leHQoW3RoaXMuZW5kcG9pbnQsIHRoaXMucGFyYW1zLCB0aGlzLnByb2plY3Rpb25dKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIF9wcm9qZWN0aW9uOiBhbnlcclxuXHQgKi9cclxuXHRwdWJsaWMgX3Byb2plY3Rpb246IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogcHJvamVjdGlvbjogYW55XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgcHJvamVjdGlvbigpIHsgcmV0dXJuIHRoaXMuX3Byb2plY3Rpb247IH1cclxuXHRzZXQgcHJvamVjdGlvbihwcm9qZWN0aW9uOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX3Byb2plY3Rpb24gPSBwcm9qZWN0aW9uO1xyXG5cdFx0dGhpcy5fZW5kcG9pbnRDaGFuZ2UubmV4dChbdGhpcy5lbmRwb2ludCwgdGhpcy5wYXJhbXMsIHRoaXMucHJvamVjdGlvbl0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogc29ydEJ5P1xyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHNvcnRCeTogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBTb3J0cyBvcHRpb25zXHJcblx0ICovXHJcblx0cHVibGljIF9zb3J0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBTb3J0cyBvcHRpb25zXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgc29ydGVkKCkgeyByZXR1cm4gdGhpcy5fc29ydGVkOyB9XHJcblx0c2V0IHNvcnRlZChtdWx0aSkge1xyXG5cdFx0dGhpcy5fc29ydGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG11bHRpKTtcclxuXHRcdHRoaXMuX2VuZHBvaW50Q2hhbmdlLm5leHQoW3RoaXMuZW5kcG9pbnQsIHRoaXMucGFyYW1zLCB0aGlzLnByb2plY3Rpb25dKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBuYW1lIG9mIHRoZSBlbmRwb2ludFxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHJpdmF0ZSBlbnVtOiBhbnk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBrZXlcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBrZXk6IGFueSA9ICdpZCc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSB0ZXh0XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgdGV4dDogYW55ID0gJ25hbWUnO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgcHJlZml4XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgcHJlZml4OiBhbnkgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogbXVsdGlwbGU/XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogT3B0aW9uIGxpc3RcclxuXHQgKi9cclxuXHRwdWJsaWMgX29wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogT3B0aW9uIGxpc3RcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBvcHRpb25zKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9uczsgfVxyXG5cdHNldCBvcHRpb25zKHZhbHVlKSB7XHJcblx0XHR0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuX29wdGlvbnMgPSB2YWx1ZTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogZmlsdGVyZWQgb3B0aW9uIGxpc3RcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogZmlsdGVyYWJsZT9cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBmaWx0ZXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogRmllbGQgbmFtZVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogcGxhY2Vob2xkZXI/OiBzdHJpbmdcclxuXHQgKiBQbGFjZWhvbGRlciBmb3IgdGhlIHVuZGVybHlpbmcgaW5wdXQgY29tcG9uZW50LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnRmlsdGVyLi4uJztcclxuXHJcblx0LyoqXHJcblx0ICogY2FjaGU/XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgY2FjaGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgaHR0cCBzZXJ2aWNlIGZyb20gdG8gZ2V0IHRoZSBkYXRhXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQgPSBudWxsO1xyXG5cclxuXHQvKipcclxuXHQgKiBTZXR0ZXJzIGFuZCBnZXR0ZXJzIGZvciB0aGUgc2VsZWN0IHZhbHVlXHJcblx0ICovXHJcblx0Z2V0IHZhbHVlKCk6IGFueSB7IHJldHVybiB0aGlzLnRhYmxlLmRhdGFTb3VyY2VbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdOyB9O1xyXG5cdHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuXHRcdGlmICh2ICE9IHRoaXMudGFibGUuZGF0YVNvdXJjZVsnZmllbGRGaWx0ZXJzJ11bdGhpcy5maWVsZF0pIHtcclxuXHRcdFx0dGhpcy50YWJsZS5kYXRhU291cmNlWydmaWVsZEZpbHRlcnMnXVt0aGlzLmZpZWxkXSA9IHY7XHJcblx0XHRcdHRoaXMudGFibGUuZGF0YVNvdXJjZVsncGFnaW5hdG9yJ11bJ3BhZ2VJbmRleCddID0gMDtcclxuXHRcdFx0dGhpcy50YWJsZS5kYXRhU291cmNlWydyZWxvYWQnXSgpO1xyXG5cdFx0XHR0aGlzLm9uQ2hhbmdlKHYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogV2hldGhlciB0aGUgY29udHJvbCBpcyBmb2N1c2VkLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBmb2N1c2VkID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgZm9jdXNlZC5cclxuXHQgKi9cclxuXHRASG9zdExpc3RlbmVyKFwiZm9jdXNpblwiKSBvbkZvY3VzSW4oKSB7IHRoaXMuZm9jdXNlZCA9IHRydWU7IH1cclxuXHRASG9zdExpc3RlbmVyKFwiZm9jdXNvdXRcIikgb25Gb2N1c091dCgpIHsgdGhpcy5mb2N1c2VkID0gZmFsc2U7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gaW5qZWN0b3JcclxuXHQgKiBAcGFyYW0gdGFibGUgXHJcblx0ICogQHBhcmFtIGNvbHVtblxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LCBwcml2YXRlIGNvbHVtbjogQ2RrQ29sdW1uRGVmKSB7XHJcblx0XHR0aGlzLmZpZWxkID0gdGhpcy5jb2x1bW4ubmFtZS5yZXBsYWNlKCdmaWx0ZXIuJywgJycpO1xyXG5cclxuXHRcdGlmICghdGhpcy5lbnVtKSB7XHJcblx0XHRcdHRoaXMuaHR0cCA9IGluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllcyBvZiBhIGRpcmVjdGl2ZSBhcmUgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRpZiAodGhpcy5lbnVtKSB7XHJcblx0XHRcdHRoaXMub3B0aW9ucyA9IEVudW1TZXJ2aWNlLnRvQXJyYXkodGhpcy5lbnVtLCB0aGlzLnByZWZpeCk7XHJcblx0XHRcdHRoaXMuZmlsdGVyYWJsZSA9IGZhbHNlO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLmVuZHBvaW50KSB7XHJcblx0XHRcdHRoaXMuX2VuZHBvaW50Q2hhbmdlLnN1YnNjcmliZSgoZW5kcG9pbnQ6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRcdGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcblx0XHRcdFx0aWYgKHRoaXMuY2FjaGUpIHtcclxuXHRcdFx0XHRcdGhlYWRlcnMuc2V0KCdDbGllbnQtQ2FjaGUnLCAnWWVzJyk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBJbml0IHBhcmFtcywgaWYgbnVsbCAqL1xyXG5cdFx0XHRcdHRoaXMuX3BhcmFtcyB8fD0ge307XHJcblxyXG5cdFx0XHRcdC8qIEFkZCBwcm9qZWN0aW9uLCBpZiBhbnkgKi9cclxuXHRcdFx0XHRpZiAodGhpcy5wcm9qZWN0aW9uKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9wYXJhbXMucHJvamVjdGlvbiA9IHRoaXMucHJvamVjdGlvbjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qIEFkZCBzb3J0aW5nICovXHJcblx0XHRcdFx0dmFyIHVybCA9IG5ldyBVUkxTZWFyY2hQYXJhbXModGhpcy5lbmRwb2ludCk7XHJcblx0XHRcdFx0aWYgKCF0aGlzLl9wYXJhbXMuc29ydEJ5ICYmICF1cmwuaGFzKCdzb3J0QnknKSAmJiAodGhpcy5zb3J0QnkgfHwgdGhpcy5zb3J0ZWQpKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9wYXJhbXMuc29ydEJ5ID0gdGhpcy5zb3J0QnkgfHwgdGhpcy50ZXh0O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGhpcy5odHRwLmdldCh0aGlzLmVuZHBvaW50LCB7IHBhcmFtczogdGhpcy5fcGFyYW1zLCBoZWFkZXJzOiBoZWFkZXJzIH0pLnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0XHRcdHRoaXMub3B0aW9ucyA9IHg7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQSBjYWxsYmFjayBtZXRob2QgdGhhdCBpcyBpbnZva2VkIGltbWVkaWF0ZWx5IGFmdGVyXHJcblx0ICogQW5ndWxhciBoYXMgY29tcGxldGVkIGluaXRpYWxpemF0aW9uIG9mIGEgY29tcG9uZW50J3Mgdmlldy5cclxuXHQgKiBJdCBpcyBpbnZva2VkIG9ubHkgb25jZSB3aGVuIHRoZSB2aWV3IGlzIGluc3RhbnRpYXRlZC5cclxuXHQgKlxyXG5cdCAqL1xyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VsZWN0RWw/Lm9wZW5lZENoYW5nZT8uc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRpZiAoeCAmJiB0aGlzLmZpbHRlcmFibGUpIHtcclxuXHRcdFx0XHR0aGlzLmZpbHRlcklucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogV3JpdGUgYSBuZXcgdmFsdWUgdG8gdGhlIGVsZW1lbnQuXHJcblx0ICovXHJcblx0d3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XHJcblx0XHR0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEhhbmRlbHMgZmlsdGVyIGV2ZW50XHJcblx0ICogQHBhcmFtICRldmVudCBcclxuXHQgKi9cclxuXHRwdWJsaWMgaGFuZGxlRmlsdGVyKCRldmVudDogRXZlbnQpOiB2b2lkIHtcclxuXHRcdGxldCBzZWFyY2hUZXh0OiBzdHJpbmcgPSAoKCRldmVudD8udGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSA/PyAnJykudG9Mb3dlckNhc2UoKTtcclxuXHRcdHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcigoeDogYW55KSA9PiB4W3RoaXMudGV4dF0/LnRvTG93ZXJDYXNlKCkuc2VhcmNoKHNlYXJjaFRleHQpID4gLTEpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIGNoYW5nZSBldmVudC5cclxuXHQgKi9cclxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBTZXQgdGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgdG91Y2ggZXZlbnQuXHJcblx0ICovXHJcblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIGNoYW5nZSBldmVudC5cclxuXHQgKi9cclxuXHRvbkNoYW5nZSA9IChfKSA9PiB7IH07XHJcblxyXG5cdC8qKlxyXG5cdCAqIENhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgdG91Y2ggZXZlbnQuXHJcblx0ICovXHJcblx0b25Ub3VjaGVkID0gKCkgPT4geyB9O1xyXG59Il19
|
|
@@ -30,9 +30,9 @@ export class DataSourceFilterDirective {
|
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
/** @nocollapse */ DataSourceFilterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
/** @nocollapse */ DataSourceFilterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
+
/** @nocollapse */ DataSourceFilterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: DataSourceFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
/** @nocollapse */ DataSourceFilterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.1", type: DataSourceFilterDirective, selector: "[dataSourceFilter]", inputs: { dataSource: "dataSource", dataSourceFilter: "dataSourceFilter" }, ngImport: i0 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: DataSourceFilterDirective, decorators: [{
|
|
36
36
|
type: Directive,
|
|
37
37
|
args: [{
|
|
38
38
|
selector: '[dataSourceFilter]'
|