taxtank-core 0.32.57 → 0.32.58

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.
@@ -2,13 +2,15 @@ import { AbstractForm } from '../abstract.form';
2
2
  import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
3
3
  import { plainToClass } from 'class-transformer';
4
4
  import { UntypedFormControl, Validators } from '@angular/forms';
5
+ import { RxwebValidators } from '@rxweb/reactive-form-validators';
6
+ import { groupValidator } from '../../validators/group.validator';
5
7
  export class AllocationRuleConditionForm extends AbstractForm {
6
8
  constructor(condition = plainToClass(AllocationRuleCondition, {})) {
7
9
  super({
8
10
  field: new UntypedFormControl(condition.field, Validators.required),
9
11
  comparisonOperator: new UntypedFormControl(condition.comparisonOperator, Validators.required),
10
12
  value: new UntypedFormControl(condition.value, Validators.required)
11
- }, condition);
13
+ }, condition, groupValidator(RxwebValidators.unique()));
12
14
  }
13
15
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsWUFBcUM7SUFDcEYsWUFDRSxZQUFxQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDO1FBRTlFLEtBQUssQ0FBQztZQUNKLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRSxrQkFBa0IsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzdGLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGVDb25kaXRpb24+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiA9IHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiwge30pXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZpZWxkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNvbmRpdGlvbi5maWVsZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29uZGl0aW9uLmNvbXBhcmlzb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB2YWx1ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb25kaXRpb24udmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgfSwgY29uZGl0aW9uKTtcbiAgfVxufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWxFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxZQUFxQztJQUNwRixZQUNFLFlBQXFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUM7UUFFOUUsS0FBSyxDQUFDO1lBQ0osS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25FLGtCQUFrQixFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDN0YsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3BFLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSeHdlYlZhbGlkYXRvcnMgfSBmcm9tICdAcnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzJztcbmltcG9ydCB7IGdyb3VwVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9ncm91cC52YWxpZGF0b3InO1xuXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmRpdGlvbjogQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gPSBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KVxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICBmaWVsZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb25kaXRpb24uZmllbGQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNvbmRpdGlvbi5jb21wYXJpc29uT3BlcmF0b3IsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgdmFsdWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29uZGl0aW9uLnZhbHVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH0sIGNvbmRpdGlvbiwgZ3JvdXBWYWxpZGF0b3IoUnh3ZWJWYWxpZGF0b3JzLnVuaXF1ZSgpKSk7XG4gIH1cbn1cbiJdfQ==
@@ -63,7 +63,6 @@ export class ChatService extends RestService {
63
63
  listenMessages() {
64
64
  this.listenCSE(Message, (messages) => {
65
65
  const message = messages[0];
66
- console.log(message);
67
66
  const cache = this.cache.toArray();
68
67
  const updatedChat = cache.find((chat) => chat?.id === message.chat?.id);
69
68
  // @TODO vik
@@ -86,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
86
85
  type: Inject,
87
86
  args: ['environment']
88
87
  }] }]; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBMkM7SUFNMUUsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRHdCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTDdELGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQTBCLGNBQWMsQ0FBQztRQUN4RCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFJaEcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWUsSUFBSSxDQUFDLE1BQU07UUFDNUIs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cnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYXQgYXMgQ2hhdEJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENoYXQsIE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ2hhdENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHdvcmsgd2l0aCBjaGF0c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGF0U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPENoYXRCYXNlLCBDaGF0LCBDaGF0Q29sbGVjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDaGF0ID0gQ2hhdDtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ2hhdENvbGxlY3Rpb24gPSBDaGF0Q29sbGVjdGlvbjtcbiAgZW5kcG9pbnRVcmkgPSAnY2hhdHMnO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwb3N0QmF0Y2gnLCAncHV0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZScsICdkZWxldGVCYXRjaCddO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICBzdXBlcihlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLmxpc3RlbkNoYXRzKCk7XG4gICAgdGhpcy5saXN0ZW5NZXNzYWdlcygpO1xuICB9XG5cbiAgZ2V0KHBhdGg6IHN0cmluZyA9IHRoaXMuYXBpVXJsKTogT2JzZXJ2YWJsZTxDaGF0Q29sbGVjdGlvbj4ge1xuICAgIC8vIHVzZXJzIGNvbnRhY3QgdHRBZHZpc29yIHRocm91Z2ggaW50ZXJjb20gc3VwcG9ydFxuICAgIHJldHVybiBzdXBlci5nZXQocGF0aCkucGlwZShcbiAgICAgIG1hcCgoY2hhdHMpID0+IGNoYXRzLmZpbHRlcigoY2hhdCkgPT4gY2hhdC5lbXBsb3llZS5lbWFpbCAhPT0gdGhpcy5lbnZpcm9ubWVudC50dEFkdmlzb3IpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVmYWN0b3Igd2l0aCBsaXN0ZW5TU0UgbWV0aG9kXG4gICAqL1xuICBsaXN0ZW5DaGF0cygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYGNoYXRzYCkuc3Vic2NyaWJlKChjaGF0QmFzZTogQ2hhdEJhc2UpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGFycmF5OiBDaGF0W10gPSB0aGlzLmNhY2hlLnRvQXJyYXkoKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBldmVudFxuICAgICAgY29uc3QgZXZlbnRDaGF0OiBDaGF0ID0gcGxhaW5Ub0NsYXNzKENoYXQsIGNoYXRCYXNlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBjYWNoZVxuICAgICAgY29uc3QgY2FjaGVkQ2hhdDogQ2hhdCA9IGFycmF5LmZpbmQoKGNoYXQ6IENoYXQpOiBib29sZWFuID0+IGNoYXQuaWQgPT09IGV2ZW50Q2hhdC5pZCk7XG5cbiAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAvLyBhZGQgbmV3IGNoYXRcbiAgICAgICAgY2FzZSAoIWNhY2hlZENoYXQpOlxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2V2ZW50Q2hhdF0sICdwb3N0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gcmVtb3ZlIGRlYWN0aXZhdGVkIGNoYXRcbiAgICAgICAgY2FzZSAhZXZlbnRDaGF0LmlzQWN0aXZlKCk6XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZXZlbnRDaGF0XSwgJ2RlbGV0ZScpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBjaGF0IHdpdGggbmV3IGZpcm0gKHJlYXNzaWduKVxuICAgICAgICBjYXNlIGV2ZW50Q2hhdC5lbXBsb3llZS5pZCAhPT0gY2FjaGVkQ2hhdC5lbXBsb3llZS5pZDpcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtldmVudENoYXRdLCAncHV0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gQFRPRE8gdHlwaW5nIHdvcmtzIGJhZCB3aXRoIG1hdC10YWJzIG9uIHVzZXItYXJlYS4gTmVlZCB0byByZWZhY3RvciB0eXBpbmcgZnVuY3Rpb25hbGl0eVxuICAgICAgICAvLyB1cGRhdGUgY2FjaGUgd2l0aCB0eXBpbmcgdXNlclxuICAgICAgICAvLyBkZWZhdWx0OlxuICAgICAgICAvLyBjYWNoZWRDaGF0LnR5cGluZ1VzZXJzLnB1c2gobmV3IFVzZXIoZXZlbnRDaGF0LnR5cGluZ1VzZXIpKTtcbiAgICAgICAgLy8gcmVwbGFjZShjYWNoZSwgXy5jbG9uZShjYWNoZWRDaGF0KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNoYXQncyAndXBkYXRlZEF0JyBmaWVsZCB3aXRoIHRoZSBsYXN0IGNoYXQncyBtZXNzYWdlIGRhdGUgZm9yIGNoYXQgbGlzdCBzb3J0aW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ1NFKE1lc3NhZ2UsIChtZXNzYWdlczogTWVzc2FnZVtdKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gbWVzc2FnZXNbMF07XG4gICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICAgIGNvbnN0IGNhY2hlOiBDaGF0W10gPSB0aGlzLmNhY2hlLnRvQXJyYXkoKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRDaGF0OiBDaGF0ID0gY2FjaGUuZmluZCgoY2hhdDogQ2hhdCk6IGJvb2xlYW4gPT4gY2hhdD8uaWQgPT09IG1lc3NhZ2UuY2hhdD8uaWQpO1xuICAgICAgLy8gQFRPRE8gdmlrXG4gICAgICBpZiAoIXVwZGF0ZWRDaGF0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlZENoYXQudXBkYXRlZEF0ID0gbWVzc2FnZT8uY3JlYXRlZEF0O1xuXG4gICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFt1cGRhdGVkQ2hhdF0sICdwdXQnKTtcbiAgICB9LCBbJ3Bvc3QnXSk7XG4gIH1cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBMkM7SUFNMUUsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRHdCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTDdELGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQTBCLGNBQWMsQ0FBQztRQUN4RCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFJaEcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWUsSUFBSSxDQUFDLE1BQU07UUFDNUIs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Y29yZSc7XG5pbXBvcnQgeyBDaGF0IGFzIENoYXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGF0LCBNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IENoYXRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggY2hhdHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDaGF0QmFzZSwgQ2hhdCwgQ2hhdENvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2hhdCA9IENoYXQ7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENoYXRDb2xsZWN0aW9uID0gQ2hhdENvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ2NoYXRzJztcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55KSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKSB7XG4gICAgdGhpcy5saXN0ZW5DaGF0cygpO1xuICAgIHRoaXMubGlzdGVuTWVzc2FnZXMoKTtcbiAgfVxuXG4gIGdldChwYXRoOiBzdHJpbmcgPSB0aGlzLmFwaVVybCk6IE9ic2VydmFibGU8Q2hhdENvbGxlY3Rpb24+IHtcbiAgICAvLyB1c2VycyBjb250YWN0IHR0QWR2aXNvciB0aHJvdWdoIGludGVyY29tIHN1cHBvcnRcbiAgICByZXR1cm4gc3VwZXIuZ2V0KHBhdGgpLnBpcGUoXG4gICAgICBtYXAoKGNoYXRzKSA9PiBjaGF0cy5maWx0ZXIoKGNoYXQpID0+IGNoYXQuZW1wbG95ZWUuZW1haWwgIT09IHRoaXMuZW52aXJvbm1lbnQudHRBZHZpc29yKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHJlZmFjdG9yIHdpdGggbGlzdGVuU1NFIG1ldGhvZFxuICAgKi9cbiAgbGlzdGVuQ2hhdHMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBjaGF0c2ApLnN1YnNjcmliZSgoY2hhdEJhc2U6IENoYXRCYXNlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBhcnJheTogQ2hhdFtdID0gdGhpcy5jYWNoZS50b0FycmF5KCk7XG4gICAgICAvLyBjaGF0IGluc3RhbmNlIGZyb20gZXZlbnRcbiAgICAgIGNvbnN0IGV2ZW50Q2hhdDogQ2hhdCA9IHBsYWluVG9DbGFzcyhDaGF0LCBjaGF0QmFzZSk7XG4gICAgICAvLyBjaGF0IGluc3RhbmNlIGZyb20gY2FjaGVcbiAgICAgIGNvbnN0IGNhY2hlZENoYXQ6IENoYXQgPSBhcnJheS5maW5kKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0LmlkID09PSBldmVudENoYXQuaWQpO1xuXG4gICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgLy8gYWRkIG5ldyBjaGF0XG4gICAgICAgIGNhc2UgKCFjYWNoZWRDaGF0KTpcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtldmVudENoYXRdLCAncG9zdCcpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHJlbW92ZSBkZWFjdGl2YXRlZCBjaGF0XG4gICAgICAgIGNhc2UgIWV2ZW50Q2hhdC5pc0FjdGl2ZSgpOlxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2V2ZW50Q2hhdF0sICdkZWxldGUnKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyB1cGRhdGUgY2hhdCB3aXRoIG5ldyBmaXJtIChyZWFzc2lnbilcbiAgICAgICAgY2FzZSBldmVudENoYXQuZW1wbG95ZWUuaWQgIT09IGNhY2hlZENoYXQuZW1wbG95ZWUuaWQ6XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZXZlbnRDaGF0XSwgJ3B1dCcpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIEBUT0RPIHR5cGluZyB3b3JrcyBiYWQgd2l0aCBtYXQtdGFicyBvbiB1c2VyLWFyZWEuIE5lZWQgdG8gcmVmYWN0b3IgdHlwaW5nIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgLy8gdXBkYXRlIGNhY2hlIHdpdGggdHlwaW5nIHVzZXJcbiAgICAgICAgLy8gZGVmYXVsdDpcbiAgICAgICAgLy8gY2FjaGVkQ2hhdC50eXBpbmdVc2Vycy5wdXNoKG5ldyBVc2VyKGV2ZW50Q2hhdC50eXBpbmdVc2VyKSk7XG4gICAgICAgIC8vIHJlcGxhY2UoY2FjaGUsIF8uY2xvbmUoY2FjaGVkQ2hhdCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjaGF0J3MgJ3VwZGF0ZWRBdCcgZmllbGQgd2l0aCB0aGUgbGFzdCBjaGF0J3MgbWVzc2FnZSBkYXRlIGZvciBjaGF0IGxpc3Qgc29ydGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5NZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNTRShNZXNzYWdlLCAobWVzc2FnZXM6IE1lc3NhZ2VbXSkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuICAgICAgY29uc3QgY2FjaGU6IENoYXRbXSA9IHRoaXMuY2FjaGUudG9BcnJheSgpO1xuICAgICAgY29uc3QgdXBkYXRlZENoYXQ6IENoYXQgPSBjYWNoZS5maW5kKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0Py5pZCA9PT0gbWVzc2FnZS5jaGF0Py5pZCk7XG4gICAgICAvLyBAVE9ETyB2aWtcbiAgICAgIGlmICghdXBkYXRlZENoYXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVkQ2hhdC51cGRhdGVkQXQgPSBtZXNzYWdlPy5jcmVhdGVkQXQ7XG5cbiAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW3VwZGF0ZWRDaGF0XSwgJ3B1dCcpO1xuICAgIH0sIFsncG9zdCddKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Custom validator that applies another validator to all controls in a FormGroup
3
+ */
4
+ export function groupValidator(validatorFn) {
5
+ return (control) => {
6
+ const keys = Object.keys(control.controls);
7
+ const errors = keys.map(key => validatorFn(control.get(key))).filter(Boolean);
8
+ return errors.length === keys.length ? errors[0] : null;
9
+ };
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvZ3JvdXAudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxXQUF3QjtJQUNyRCxPQUFPLENBQUMsT0FBa0IsRUFBMkIsRUFBRTtRQUNyRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQ3VzdG9tIHZhbGlkYXRvciB0aGF0IGFwcGxpZXMgYW5vdGhlciB2YWxpZGF0b3IgdG8gYWxsIGNvbnRyb2xzIGluIGEgRm9ybUdyb3VwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncm91cFZhbGlkYXRvcih2YWxpZGF0b3JGbjogVmFsaWRhdG9yRm4pOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogRm9ybUdyb3VwKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKTtcbiAgICBjb25zdCBlcnJvcnMgPSBrZXlzLm1hcChrZXkgPT4gdmFsaWRhdG9yRm4oY29udHJvbC5nZXQoa2V5KSkpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIHJldHVybiBlcnJvcnMubGVuZ3RoID09PSBrZXlzLmxlbmd0aCA/IGVycm9yc1swXSA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -11682,7 +11682,6 @@ class ChatService extends RestService$1 {
11682
11682
  listenMessages() {
11683
11683
  this.listenCSE(Message, (messages) => {
11684
11684
  const message = messages[0];
11685
- console.log(message);
11686
11685
  const cache = this.cache.toArray();
11687
11686
  const updatedChat = cache.find((chat) => chat?.id === message.chat?.id);
11688
11687
  // @TODO vik
@@ -22651,13 +22650,24 @@ class VehicleLogbookForm extends AbstractForm {
22651
22650
  }
22652
22651
  }
22653
22652
 
22653
+ /**
22654
+ * Custom validator that applies another validator to all controls in a FormGroup
22655
+ */
22656
+ function groupValidator(validatorFn) {
22657
+ return (control) => {
22658
+ const keys = Object.keys(control.controls);
22659
+ const errors = keys.map(key => validatorFn(control.get(key))).filter(Boolean);
22660
+ return errors.length === keys.length ? errors[0] : null;
22661
+ };
22662
+ }
22663
+
22654
22664
  class AllocationRuleConditionForm extends AbstractForm {
22655
22665
  constructor(condition = plainToClass(AllocationRuleCondition, {})) {
22656
22666
  super({
22657
22667
  field: new UntypedFormControl(condition.field, Validators.required),
22658
22668
  comparisonOperator: new UntypedFormControl(condition.comparisonOperator, Validators.required),
22659
22669
  value: new UntypedFormControl(condition.value, Validators.required)
22660
- }, condition);
22670
+ }, condition, groupValidator(RxwebValidators.unique()));
22661
22671
  }
22662
22672
  }
22663
22673