@sumaris-net/ngx-components 1.23.51 → 1.23.53

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.
@@ -11,11 +11,11 @@ export function filterTrue(obs) {
11
11
  export function filterFalse(obs, opts) {
12
12
  return obs.pipe(filter((v) => v === false));
13
13
  }
14
- function decorateForFirst(obs, opts) {
14
+ function decorateWithTakeUntil(obs, opts) {
15
15
  // Set take until notifier
16
16
  let takeUntil$ = (opts === null || opts === void 0 ? void 0 : opts.stop) || ((opts === null || opts === void 0 ? void 0 : opts.timeout) && timer(opts.timeout));
17
17
  if (!takeUntil$)
18
- return obs;
18
+ return obs; // Skip
19
19
  // When stop, throw an error (useful when used with a toPromise())
20
20
  if (opts.stopError) {
21
21
  let error;
@@ -36,15 +36,15 @@ function decorateForFirst(obs, opts) {
36
36
  .pipe(takeUntil(takeUntil$));
37
37
  }
38
38
  export function firstNotNil(obs, opts) {
39
- return decorateForFirst(obs, opts).pipe(first(isNotNil));
39
+ return decorateWithTakeUntil(obs.pipe(first(isNotNil)), opts);
40
40
  }
41
41
  export function firstTrue(obs, opts) {
42
- return decorateForFirst(obs.pipe(first((v) => v === true), map(_ => { }) // Convert to void
42
+ return decorateWithTakeUntil(obs.pipe(first((v) => v === true), map(_ => { }) // Convert to void
43
43
  ), opts);
44
44
  }
45
45
  export function firstFalse(obs, opts) {
46
- return decorateForFirst(obs, opts).pipe(first((v) => v === false), map(_ => { }) // Convert to void
47
- );
46
+ return decorateWithTakeUntil(obs.pipe(first((v) => v === false), map(_ => { }) // Convert to void
47
+ ), opts);
48
48
  }
49
49
  export function firstTruePromise(obs, opts) {
50
50
  return firstTrue(obs, Object.assign({ stopError: true }, opts)).toPromise();
@@ -103,4 +103,4 @@ export function waitForFalse(observable, opts) {
103
103
  // Inverse the logic
104
104
  observable.pipe(map(v => v === false)), opts);
105
105
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9vYnNlcnZhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQixLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQU0sTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBY3JDLE1BQU0sVUFBVSxZQUFZLENBQVUsR0FBa0I7SUFDdEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQXdCO0lBQ2pELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFDRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEdBQXdCLEVBQUUsSUFBbUI7SUFDdkUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQVUsR0FBa0IsRUFBRSxJQUFtQjtJQUN4RSwwQkFBMEI7SUFDMUIsSUFBSSxVQUFVLEdBQW9CLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksS0FBSSxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sS0FBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENB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SSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRTtRQUM1QixVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLFVBQStCLEVBQUUsSUFBcUI7SUFDakYsT0FBTyxXQUFXO0lBQ2hCLG9CQUFvQjtJQUNwQixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FDdEMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc05vdE5pbH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtQcmVkaWNhdGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRmlyc3RPcHRpb25zIHtcbiAgdGltZW91dD86IG51bWJlcjtcbiAgc3RvcD86IE9ic2VydmFibGU8YW55PjtcbiAgc3RvcEVycm9yPzogYm9vbGVhbnxzdHJpbmd8RXJyb3I7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBXYWl0Rm9yT3B0aW9ucyBleHRlbmRzIEZpcnN0T3B0aW9uc3tcbiAgZHVlVGltZT86IG51bWJlcjtcbiAgY2hlY2tQZXJpb2Q/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJOb3ROaWw8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBvYnMucGlwZShmaWx0ZXIoaXNOb3ROaWwpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclRydWUob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBvYnMucGlwZShmaWx0ZXIoKHYpID0+IHYgPT09IHRydWUpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJGYWxzZShvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG9icy5waXBlKGZpbHRlcigodikgPT4gdiA9PT0gZmFsc2UpKTtcbn1cblxuZnVuY3Rpb24gZGVjb3JhdGVGb3JGaXJzdDxUID0gYW55PihvYnM6IE9ic2VydmFibGU8VD4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgLy8gU2V0IHRha2UgdW50aWwgbm90aWZpZXJcbiAgbGV0IHRha2VVbnRpbCQ6IE9ic2VydmFibGU8YW55PiA9IG9wdHM/LnN0b3AgfHwgKG9wdHM/LnRpbWVvdXQgJiYgdGltZXIob3B0cy50aW1lb3V0KSk7XG4gIGlmICghdGFrZVVudGlsJCkgcmV0dXJuIG9icztcblxuICAvLyBXaGVuIHN0b3AsIHRocm93IGFuIGVycm9yICh1c2VmdWwgd2hlbiB1c2VkIHdpdGggYSB0b1Byb21pc2UoKSlcbiAgaWYgKG9wdHMuc3RvcEVycm9yKSB7XG4gICAgbGV0IGVycm9yOiBFcnJvcjtcbiAgICBpZiAob3B0cy5zdG9wRXJyb3IgPT09IHRydWUpIHtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKG9wdHMudGltZW91dCA/IGBUaW1lb3V0ICR7b3B0cy50aW1lb3V0fW1zYCA6IGBzdG9wYCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBvcHRzLnN0b3BFcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKG9wdHMuc3RvcEVycm9yKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBlcnJvciA9IG9wdHMuc3RvcEVycm9yO1xuICAgIH1cbiAgICB0YWtlVW50aWwkID0gdGFrZVVudGlsJC5waXBlKFxuICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gb2JzXG4gICAgLnBpcGUodGFrZVVudGlsKHRha2VVbnRpbCQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0Tm90TmlsPFQgPSBhbnk+KG9iczogT2JzZXJ2YWJsZTxUPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gZGVjb3JhdGVGb3JGaXJzdChvYnMsIG9wdHMpLnBpcGUoZmlyc3QoaXNOb3ROaWwpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFRydWUob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIHJldHVybiBkZWNvcmF0ZUZvckZpcnN0KG9icy5waXBlKFxuICAgICAgZmlyc3QoKHYpID0+IHYgPT09IHRydWUpLFxuICAgICAgbWFwKF8gPT4ge30pIC8vIENvbnZlcnQgdG8gdm9pZFxuICAgICksIG9wdHMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0RmFsc2Uob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIHJldHVybiBkZWNvcmF0ZUZvckZpcnN0KG9icywgb3B0cykucGlwZShcbiAgICBmaXJzdCgodikgPT4gdiA9PT0gZmFsc2UpLFxuICAgIG1hcChfID0+IHt9KSAvLyBDb252ZXJ0IHRvIHZvaWRcbiAgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFRydWVQcm9taXNlKG9iczogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gZmlyc3RUcnVlKG9icywge3N0b3BFcnJvcjogdHJ1ZSwgLi4ub3B0c30pLnRvUHJvbWlzZSgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0RmFsc2VQcm9taXNlKG9iczogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gZmlyc3RGYWxzZShvYnMsIHtzdG9wRXJyb3I6IHRydWUsIC4uLm9wdHN9KS50b1Byb21pc2UoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdE5vdE5pbFByb21pc2U8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogUHJvbWlzZTxUPiB7XG4gIHJldHVybiBmaXJzdE5vdE5pbChvYnMsIHtzdG9wRXJyb3I6IHRydWUsIC4uLm9wdHN9KS50b1Byb21pc2UoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjaGFpblByb21pc2VzPFQgPSBhbnk+KGRlZmVyczogKCgpID0+IFByb21pc2U8YW55PilbXSk6IFByb21pc2U8VFtdPiB7XG4gIHJldHVybiAoZGVmZXJzIHx8IFtdKS5yZWR1Y2UoKHByZXZpb3VzOiBQcm9taXNlPGFueT4gfCBudWxsLCBkZWZlcikgPT4ge1xuICAgIC8vIEZpcnN0IGpvYlxuICAgIGlmICghcHJldmlvdXMpIHtcbiAgICAgIHJldHVybiBkZWZlcigpXG4gICAgICAgIC8vIEluaXQgdGhlIGZpbmFsIHJlc3VsdCBhcnJheSwgd2l0aCB0aGUgZmlyc3QgcmVzdWx0XG4gICAgICAgIC50aGVuKGpvYlJlcyA9PiBbam9iUmVzXSk7XG4gICAgfVxuICAgIC8vIE90aGVyIGpvYnNcbiAgICByZXR1cm4gcHJldmlvdXNcbiAgICAgIC50aGVuKChmaW5hbFJlc3VsdCkgPT4gZGVmZXIoKVxuICAgICAgICAvLyBBZGQgam9iIHJlc3VsdCB0byBmaW5hbCByZXN1bHQgYXJyYXlcbiAgICAgICAgLnRoZW4oam9iUmVzID0+IGZpbmFsUmVzdWx0LmNvbmNhdChqb2JSZXMpKSk7XG4gIH0sIG51bGwpO1xufVxuXG4vKipcbiAqIFdhaXQgZm9ybSBhIHByZWRpY2F0ZSByZXR1cm4gdHJ1ZS4gVGhpcyBuZWVkIHRvIGltcGxlbWVudCBBcHBGb3JtVXRpbHMud2FpdFdoaWxlUGVuZGluZygpLCBBcHBGb3JtVXRpbHMud2FpdElkbGUoKVxuICogQHBhcmFtIHByZWRpY2F0ZVxuICogQHBhcmFtIG9wdHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3IocHJlZGljYXRlOiBQcmVkaWNhdGU8dm9pZD4sIG9wdHM/OiBXYWl0Rm9yT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAocHJlZGljYXRlKCkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICBjb25zdCBwZXJpb2QgPSBvcHRzICYmIG9wdHMuY2hlY2tQZXJpb2QgfHwgMzAwO1xuICBjb25zdCBkdWVUaW1lID0gb3B0cyAmJiBvcHRzLmR1ZVRpbWUgfHwgcGVyaW9kO1xuICBsZXQgd2FpdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aW1lcihkdWVUaW1lLCBwZXJpb2QpXG4gICAgLnBpcGUoXG4gICAgICAvLyBGb3IgREVCVUcgOlxuICAgICAgLy90YXAoKCkgPT4gY29uc29sZS5kZWJ1ZyhcIldhaXRpbmcgZm9ybSBpZGxlLi4uXCIsIGZvcm0pKSxcbiAgICAgIGZpbHRlcihfID0+IHByZWRpY2F0ZSgpKSxcbiAgICAgIG1hcChfID0+IHRydWUpXG4gICAgKTtcblxuICBhd2FpdCBmaXJzdE5vdE5pbFByb21pc2Uod2FpdCQsIG9wdHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvclRydWUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IFdhaXRGb3JPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIG9wdHMgPSB7c3RvcEVycm9yOiB0cnVlLCAuLi5vcHRzfTtcbiAgLy8gZHVlVGltZSAod2l0aG91dCB0aW1lb3V0KVxuICBpZiAob3B0cyAmJiBvcHRzLmR1ZVRpbWUgPiAwKSB7XG4gICAgb2JzZXJ2YWJsZSA9IHRpbWVyKG9wdHMuZHVlVGltZSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiBvYnNlcnZhYmxlKSk7XG4gIH1cbiAgcmV0dXJuIGZpcnN0VHJ1ZShvYnNlcnZhYmxlLCBvcHRzKS50b1Byb21pc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JGYWxzZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogV2FpdEZvck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIHdhaXRGb3JUcnVlKFxuICAgIC8vIEludmVyc2UgdGhlIGxvZ2ljXG4gICAgb2JzZXJ2YWJsZS5waXBlKG1hcCh2ID0+IHYgPT09IGZhbHNlKVxuICApLCBvcHRzKTtcbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9vYnNlcnZhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQixLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQU0sTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBY3JDLE1BQU0sVUFBVSxZQUFZLENBQVUsR0FBa0I7SUFDdEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQXdCO0lBQ2pELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFDRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEdBQXdCLEVBQUUsSUFBbUI7SUFDdkUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQVUsR0FBa0IsRUFBRSxJQUFtQjtJQUM3RSwwQkFBMEI7SUFDMUIsSUFBSSxVQUFVLEdBQW9CLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksS0FBSSxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sS0FBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENB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SSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUU7UUFDNUIsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8sU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxVQUErQixFQUFFLElBQXFCO0lBQ2pGLE9BQU8sV0FBVztJQUNoQixvQkFBb0I7SUFDcEIsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQ3RDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7aXNOb3ROaWx9IGZyb20gJy4vZnVuY3Rpb25zJztcbmltcG9ydCB7UHJlZGljYXRlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEZpcnN0T3B0aW9ucyB7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIHN0b3A/OiBPYnNlcnZhYmxlPGFueT47XG4gIHN0b3BFcnJvcj86IGJvb2xlYW58c3RyaW5nfEVycm9yO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgV2FpdEZvck9wdGlvbnMgZXh0ZW5kcyBGaXJzdE9wdGlvbnN7XG4gIGR1ZVRpbWU/OiBudW1iZXI7XG4gIGNoZWNrUGVyaW9kPzogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyTm90TmlsPFQgPSBhbnk+KG9iczogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyKGlzTm90TmlsKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJUcnVlKG9iczogT2JzZXJ2YWJsZTxib29sZWFuPik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyKCh2KSA9PiB2ID09PSB0cnVlKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRmFsc2Uob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBvYnMucGlwZShmaWx0ZXIoKHYpID0+IHYgPT09IGZhbHNlKSk7XG59XG5cbmZ1bmN0aW9uIGRlY29yYXRlV2l0aFRha2VVbnRpbDxUID0gYW55PihvYnM6IE9ic2VydmFibGU8VD4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgLy8gU2V0IHRha2UgdW50aWwgbm90aWZpZXJcbiAgbGV0IHRha2VVbnRpbCQ6IE9ic2VydmFibGU8YW55PiA9IG9wdHM/LnN0b3AgfHwgKG9wdHM/LnRpbWVvdXQgJiYgdGltZXIob3B0cy50aW1lb3V0KSk7XG5cbiAgaWYgKCF0YWtlVW50aWwkKSByZXR1cm4gb2JzOyAvLyBTa2lwXG5cbiAgLy8gV2hlbiBzdG9wLCB0aHJvdyBhbiBlcnJvciAodXNlZnVsIHdoZW4gdXNlZCB3aXRoIGEgdG9Qcm9taXNlKCkpXG4gIGlmIChvcHRzLnN0b3BFcnJvcikge1xuICAgIGxldCBlcnJvcjogRXJyb3I7XG4gICAgaWYgKG9wdHMuc3RvcEVycm9yID09PSB0cnVlKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihvcHRzLnRpbWVvdXQgPyBgVGltZW91dCAke29wdHMudGltZW91dH1tc2AgOiBgc3RvcGApO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2Ygb3B0cy5zdG9wRXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihvcHRzLnN0b3BFcnJvcik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZXJyb3IgPSBvcHRzLnN0b3BFcnJvcjtcbiAgICB9XG4gICAgdGFrZVVudGlsJCA9IHRha2VVbnRpbCQucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSkpO1xuICB9XG5cbiAgcmV0dXJuIG9ic1xuICAgIC5waXBlKHRha2VVbnRpbCh0YWtlVW50aWwkKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdE5vdE5pbDxUID0gYW55PihvYnM6IE9ic2VydmFibGU8VD4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGRlY29yYXRlV2l0aFRha2VVbnRpbChvYnMucGlwZShmaXJzdChpc05vdE5pbCkpLCBvcHRzKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFRydWUob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIHJldHVybiBkZWNvcmF0ZVdpdGhUYWtlVW50aWwob2JzLnBpcGUoXG4gICAgICBmaXJzdCgodikgPT4gdiA9PT0gdHJ1ZSksXG4gICAgICBtYXAoXyA9PiB7fSkgLy8gQ29udmVydCB0byB2b2lkXG4gICAgKSwgb3B0cyk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmlyc3RGYWxzZShvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgcmV0dXJuIGRlY29yYXRlV2l0aFRha2VVbnRpbChvYnMucGlwZShcbiAgICBmaXJzdCgodikgPT4gdiA9PT0gZmFsc2UpLFxuICAgIG1hcChfID0+IHt9KSAvLyBDb252ZXJ0IHRvIHZvaWRcbiAgKSwgb3B0cyk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmlyc3RUcnVlUHJvbWlzZShvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIGZpcnN0VHJ1ZShvYnMsIHtzdG9wRXJyb3I6IHRydWUsIC4uLm9wdHN9KS50b1Byb21pc2UoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdEZhbHNlUHJvbWlzZShvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIGZpcnN0RmFsc2Uob2JzLCB7c3RvcEVycm9yOiB0cnVlLCAuLi5vcHRzfSkudG9Qcm9taXNlKCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmlyc3ROb3ROaWxQcm9taXNlPFQgPSBhbnk+KG9iczogT2JzZXJ2YWJsZTxUPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gZmlyc3ROb3ROaWwob2JzLCB7c3RvcEVycm9yOiB0cnVlLCAuLi5vcHRzfSkudG9Qcm9taXNlKCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY2hhaW5Qcm9taXNlczxUID0gYW55PihkZWZlcnM6ICgoKSA9PiBQcm9taXNlPGFueT4pW10pOiBQcm9taXNlPFRbXT4ge1xuICByZXR1cm4gKGRlZmVycyB8fCBbXSkucmVkdWNlKChwcmV2aW91czogUHJvbWlzZTxhbnk+IHwgbnVsbCwgZGVmZXIpID0+IHtcbiAgICAvLyBGaXJzdCBqb2JcbiAgICBpZiAoIXByZXZpb3VzKSB7XG4gICAgICByZXR1cm4gZGVmZXIoKVxuICAgICAgICAvLyBJbml0IHRoZSBmaW5hbCByZXN1bHQgYXJyYXksIHdpdGggdGhlIGZpcnN0IHJlc3VsdFxuICAgICAgICAudGhlbihqb2JSZXMgPT4gW2pvYlJlc10pO1xuICAgIH1cbiAgICAvLyBPdGhlciBqb2JzXG4gICAgcmV0dXJuIHByZXZpb3VzXG4gICAgICAudGhlbigoZmluYWxSZXN1bHQpID0+IGRlZmVyKClcbiAgICAgICAgLy8gQWRkIGpvYiByZXN1bHQgdG8gZmluYWwgcmVzdWx0IGFycmF5XG4gICAgICAgIC50aGVuKGpvYlJlcyA9PiBmaW5hbFJlc3VsdC5jb25jYXQoam9iUmVzKSkpO1xuICB9LCBudWxsKTtcbn1cblxuLyoqXG4gKiBXYWl0IGZvcm0gYSBwcmVkaWNhdGUgcmV0dXJuIHRydWUuIFRoaXMgbmVlZCB0byBpbXBsZW1lbnQgQXBwRm9ybVV0aWxzLndhaXRXaGlsZVBlbmRpbmcoKSwgQXBwRm9ybVV0aWxzLndhaXRJZGxlKClcbiAqIEBwYXJhbSBwcmVkaWNhdGVcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yKHByZWRpY2F0ZTogUHJlZGljYXRlPHZvaWQ+LCBvcHRzPzogV2FpdEZvck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKHByZWRpY2F0ZSgpKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgY29uc3QgcGVyaW9kID0gb3B0cyAmJiBvcHRzLmNoZWNrUGVyaW9kIHx8IDMwMDtcbiAgY29uc3QgZHVlVGltZSA9IG9wdHMgJiYgb3B0cy5kdWVUaW1lIHx8IHBlcmlvZDtcbiAgbGV0IHdhaXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGltZXIoZHVlVGltZSwgcGVyaW9kKVxuICAgIC5waXBlKFxuICAgICAgLy8gRm9yIERFQlVHIDpcbiAgICAgIC8vdGFwKCgpID0+IGNvbnNvbGUuZGVidWcoXCJXYWl0aW5nIGZvcm0gaWRsZS4uLlwiLCBmb3JtKSksXG4gICAgICBmaWx0ZXIoXyA9PiBwcmVkaWNhdGUoKSksXG4gICAgICBtYXAoXyA9PiB0cnVlKVxuICAgICk7XG5cbiAgYXdhaXQgZmlyc3ROb3ROaWxQcm9taXNlKHdhaXQkLCBvcHRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JUcnVlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBXYWl0Rm9yT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBvcHRzID0ge3N0b3BFcnJvcjogdHJ1ZSwgLi4ub3B0c307XG4gIC8vIGR1ZVRpbWUgKHdpdGhvdXQgdGltZW91dClcbiAgaWYgKG9wdHMgJiYgb3B0cy5kdWVUaW1lID4gMCkge1xuICAgIG9ic2VydmFibGUgPSB0aW1lcihvcHRzLmR1ZVRpbWUpXG4gICAgICAucGlwZShzd2l0Y2hNYXAoKCkgPT4gb2JzZXJ2YWJsZSkpO1xuICB9XG4gIHJldHVybiBmaXJzdFRydWUob2JzZXJ2YWJsZSwgb3B0cykudG9Qcm9taXNlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yRmFsc2Uob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IFdhaXRGb3JPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiB3YWl0Rm9yVHJ1ZShcbiAgICAvLyBJbnZlcnNlIHRoZSBsb2dpY1xuICAgIG9ic2VydmFibGUucGlwZShtYXAodiA9PiB2ID09PSBmYWxzZSlcbiAgKSwgb3B0cyk7XG59XG4iXX0=
@@ -781,11 +781,11 @@ function filterTrue(obs) {
781
781
  function filterFalse(obs, opts) {
782
782
  return obs.pipe(filter((v) => v === false));
783
783
  }
784
- function decorateForFirst(obs, opts) {
784
+ function decorateWithTakeUntil(obs, opts) {
785
785
  // Set take until notifier
786
786
  let takeUntil$ = (opts === null || opts === void 0 ? void 0 : opts.stop) || ((opts === null || opts === void 0 ? void 0 : opts.timeout) && timer(opts.timeout));
787
787
  if (!takeUntil$)
788
- return obs;
788
+ return obs; // Skip
789
789
  // When stop, throw an error (useful when used with a toPromise())
790
790
  if (opts.stopError) {
791
791
  let error;
@@ -806,15 +806,15 @@ function decorateForFirst(obs, opts) {
806
806
  .pipe(takeUntil(takeUntil$));
807
807
  }
808
808
  function firstNotNil(obs, opts) {
809
- return decorateForFirst(obs, opts).pipe(first(isNotNil));
809
+ return decorateWithTakeUntil(obs.pipe(first(isNotNil)), opts);
810
810
  }
811
811
  function firstTrue(obs, opts) {
812
- return decorateForFirst(obs.pipe(first((v) => v === true), map(_ => { }) // Convert to void
812
+ return decorateWithTakeUntil(obs.pipe(first((v) => v === true), map(_ => { }) // Convert to void
813
813
  ), opts);
814
814
  }
815
815
  function firstFalse(obs, opts) {
816
- return decorateForFirst(obs, opts).pipe(first((v) => v === false), map(_ => { }) // Convert to void
817
- );
816
+ return decorateWithTakeUntil(obs.pipe(first((v) => v === false), map(_ => { }) // Convert to void
817
+ ), opts);
818
818
  }
819
819
  function firstTruePromise(obs, opts) {
820
820
  return firstTrue(obs, Object.assign({ stopError: true }, opts)).toPromise();
@@ -17826,6 +17826,10 @@ class AppForm {
17826
17826
  this.markForCheck();
17827
17827
  }
17828
17828
  }
17829
+ destroyed() {
17830
+ var _a;
17831
+ return ((_a = this.destroySubject) === null || _a === void 0 ? void 0 : _a.closed) !== false;
17832
+ }
17829
17833
  set form(value) {
17830
17834
  this.setForm(value);
17831
17835
  }
@@ -23263,6 +23267,10 @@ class AppTable {
23263
23267
  get paginator() {
23264
23268
  return this._paginator || this.childPaginator;
23265
23269
  }
23270
+ destroyed() {
23271
+ var _a;
23272
+ return ((_a = this.destroySubject) === null || _a === void 0 ? void 0 : _a.closed) !== false;
23273
+ }
23266
23274
  ngOnInit() {
23267
23275
  var _a;
23268
23276
  if (this._initialized)
@@ -23298,17 +23306,19 @@ class AppTable {
23298
23306
  // Propagate row dirty state to table
23299
23307
  this.registerSubscription(this.onStartEditingRow
23300
23308
  .pipe(filter(row => (row === null || row === void 0 ? void 0 : row.validator) && true), mergeMap(row => row.validator.valueChanges
23301
- .pipe(takeUntil(
23309
+ .pipe(map(() => { var _a; return (_a = row.validator) === null || _a === void 0 ? void 0 : _a.dirty; }), filter(dirty => dirty === true), first(),
23310
+ // DEBUG
23311
+ //tap(() => console.debug("Propagate row's dirty to table..."))
23302
23312
  // Stop if next another row, or destroying
23303
- combineLatest([
23313
+ takeUntil(combineLatest([
23304
23314
  this.onStartEditingRow,
23305
23315
  this.destroySubject
23306
- ])
23316
+ ]))
23307
23317
  // DEBUG
23308
23318
  //.pipe(
23309
23319
  // tap(() => console.debug('TODO stopping previous row listener'))
23310
23320
  //)
23311
- ), map(() => { var _a; return (_a = row.validator) === null || _a === void 0 ? void 0 : _a.dirty; }), filter(dirty => dirty === true), first())))
23321
+ )))
23312
23322
  .subscribe(() => this.markAsDirty()));
23313
23323
  // Call datasource refresh, on each refresh events
23314
23324
  this.registerSubscription(this.onRefresh
@@ -24688,6 +24698,10 @@ class AppEditor {
24688
24698
  var _a;
24689
24699
  return this.savingSubject.value || ((_a = this.editors) === null || _a === void 0 ? void 0 : _a.some(e => e.saving));
24690
24700
  }
24701
+ destroyed() {
24702
+ var _a;
24703
+ return ((_a = this.destroySubject) === null || _a === void 0 ? void 0 : _a.closed) !== false;
24704
+ }
24691
24705
  get tables() {
24692
24706
  return this._children && this._children.filter(c => c instanceof AppTable);
24693
24707
  }