{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/jn-galon/jg-controls/jg-textarea-html/jg-textarea-html.component.css","webpack:///./src/app/jn-galon/jg-controls/jg-textarea-html/jg-textarea-html.component.html","webpack:///./src/app/jn-galon/jg-controls/jg-textarea-html/jg-textarea-html.component.ts","webpack:///./src/app/jn-galon/jg-controls/uc-example/example-tel-input-example.css","webpack:///./src/app/jn-galon/jg-controls/uc-example/example-tel-input-example.html","webpack:///./src/app/jn-galon/jg-controls/uc-example/form-field-custom-control-example.css","webpack:///./src/app/jn-galon/jg-controls/uc-example/form-field-custom-control-example.html","webpack:///./src/app/jn-galon/jg-controls/uc-example/form-field-custom-control-example.ts","webpack:///./src/app/jn-galon/jg-home/jg-home.component.css","webpack:///./src/app/jn-galon/jg-home/jg-home.component.html","webpack:///./src/app/jn-galon/jg-home/jg-home.component.ts","webpack:///./src/app/jn-galon/jn-auth-selector/jn-auth-selector-dialog.component.css","webpack:///./src/app/jn-galon/jn-auth-selector/jn-auth-selector-dialog.component.html","webpack:///./src/app/jn-galon/jn-auth-selector/jn-auth-selector.component.css","webpack:///./src/app/jn-galon/jn-auth-selector/jn-auth-selector.component.html","webpack:///./src/app/jn-galon/jn-auth-selector/jn-auth-selector.component.ts","webpack:///./src/app/jn-galon/jn-busy-bar/jn-busy-bar.component.css","webpack:///./src/app/jn-galon/jn-busy-bar/jn-busy-bar.component.html","webpack:///./src/app/jn-galon/jn-busy-bar/jn-busy-bar.component.ts","webpack:///./src/app/jn-galon/jn-busy-box/jg-busy-dialog.css","webpack:///./src/app/jn-galon/jn-busy-box/jg-busy-dialog.html","webpack:///./src/app/jn-galon/jn-busy-box/jn-busy-box.component.css","webpack:///./src/app/jn-galon/jn-busy-box/jn-busy-box.component.html","webpack:///./src/app/jn-galon/jn-busy-box/jn-busy-box.component.ts","webpack:///./src/app/jn-galon/jn-entity/jn-item-label/jn-item-label.component.css","webpack:///./src/app/jn-galon/jn-entity/jn-item-label/jn-item-label.component.html","webpack:///./src/app/jn-galon/jn-entity/jn-item-label/jn-item-label.component.ts","webpack:///./src/app/jn-galon/jn-entity/jn-item-question/jn-item-question.component.css","webpack:///./src/app/jn-galon/jn-entity/jn-item-question/jn-item-question.component.html","webpack:///./src/app/jn-galon/jn-entity/jn-item-question/jn-item-question.component.ts","webpack:///./src/app/jn-galon/jn-entity/jn-new-item-content/jn-new-item-content.component.css","webpack:///./src/app/jn-galon/jn-entity/jn-new-item-content/jn-new-item-content.component.html","webpack:///./src/app/jn-galon/jn-entity/jn-new-item-content/jn-new-item-content.component.ts","webpack:///./src/app/jn-galon/jn-entity/jn-new-item/jn-new-item.component.css","webpack:///./src/app/jn-galon/jn-entity/jn-new-item/jn-new-item.component.html","webpack:///./src/app/jn-galon/jn-entity/jn-new-item/jn-new-item.component.ts","webpack:///./src/app/jn-galon/jn-error-bar/jn-error-bar.component.css","webpack:///./src/app/jn-galon/jn-error-bar/jn-error-bar.component.html","webpack:///./src/app/jn-galon/jn-error-bar/jn-error-bar.component.ts","webpack:///./src/app/jn-galon/jn-info-box/jn-info-box-dialog.component.css","webpack:///./src/app/jn-galon/jn-info-box/jn-info-box-dialog.component.html","webpack:///./src/app/jn-galon/jn-info-box/jn-info-box.component.css","webpack:///./src/app/jn-galon/jn-info-box/jn-info-box.component.html","webpack:///./src/app/jn-galon/jn-info-box/jn-info-box.component.ts","webpack:///./src/app/jn-galon/jn-nameplate-card/jn-nameplate-card.component.css","webpack:///./src/app/jn-galon/jn-nameplate-card/jn-nameplate-card.component.html","webpack:///./src/app/jn-galon/jn-nameplate-card/jn-nameplate-card.component.ts","webpack:///./src/app/jn-galon/jn-not-found/jn-not-found.component.css","webpack:///./src/app/jn-galon/jn-not-found/jn-not-found.component.html","webpack:///./src/app/jn-galon/jn-not-found/jn-not-found.component.ts","webpack:///./src/app/jn-galon/jn-root-page/jn-root-page.component.css","webpack:///./src/app/jn-galon/jn-root-page/jn-root-page.component.html","webpack:///./src/app/jn-galon/jn-root-page/jn-root-page.component.ts","webpack:///./src/app/jn-galon/jn-root/jn-root.component.css","webpack:///./src/app/jn-galon/jn-root/jn-root.component.html","webpack:///./src/app/jn-galon/jn-root/jn-root.component.ts","webpack:///./src/app/jn-ispolin/jn-polin-flight/jnp-flight-item/jnp-flight-item.component.css","webpack:///./src/app/jn-ispolin/jn-polin-flight/jnp-flight-item/jnp-flight-item.component.html","webpack:///./src/app/jn-ispolin/jn-polin-flight/jnp-flight-item/jnp-flight-item.component.ts","webpack:///./src/app/jn-ispolin/jnp-cmp-bar/jnp-cmp-bar.component.css","webpack:///./src/app/jn-ispolin/jnp-cmp-bar/jnp-cmp-bar.component.html","webpack:///./src/app/jn-ispolin/jnp-cmp-bar/jnp-cmp-bar.component.ts","webpack:///./src/app/jn-risks/jn-risk-exam/jn-risk-exam.component.css","webpack:///./src/app/jn-risks/jn-risk-exam/jn-risk-exam.component.html","webpack:///./src/app/jn-risks/jn-risk-exam/jn-risk-exam.component.ts","webpack:///./src/app/jn-risks/risk-check-service.service.ts","webpack:///./src/app/jn-web-cnt/jn-web-cnt-item/jn-web-cnt-item.component.css","webpack:///./src/app/jn-web-cnt/jn-web-cnt-item/jn-web-cnt-item.component.html","webpack:///./src/app/jn-web-cnt/jn-web-cnt-item/jn-web-cnt-item.component.ts","webpack:///./src/app/jn-web-cnt/jn-web-cnt-main-nst/jn-web-cnt-main-nst.component.css","webpack:///./src/app/jn-web-cnt/jn-web-cnt-main-nst/jn-web-cnt-main-nst.component.html","webpack:///./src/app/jn-web-cnt/jn-web-cnt-main-nst/jn-web-cnt-main-nst.component.ts","webpack:///./src/app/jn-web-cnt/jn-web-cnt-main/jn-web-cnt-main.component.css","webpack:///./src/app/jn-web-cnt/jn-web-cnt-main/jn-web-cnt-main.component.html","webpack:///./src/app/jn-web-cnt/jn-web-cnt-main/jn-web-cnt-main.component.ts","webpack:///./src/app/serv-desc/sd-new-user-message/sd-new-user-message.component.css","webpack:///./src/app/serv-desc/sd-new-user-message/sd-new-user-message.component.html","webpack:///./src/app/serv-desc/sd-new-user-message/sd-new-user-message.component.ts","webpack:///./src/app/shared/app-setting.ts","webpack:///./src/app/shared/graphics/corel-droch/corel-droch-base.ts","webpack:///./src/app/shared/graphics/corel-droch/corel-droch-data.ts","webpack:///./src/app/shared/graphics/droch-icon-svg-reg/droch-icon-svg-reg.component.css","webpack:///./src/app/shared/graphics/droch-icon-svg-reg/droch-icon-svg-reg.component.html","webpack:///./src/app/shared/graphics/droch-icon-svg-reg/droch-icon-svg-reg.component.ts","webpack:///./src/app/shared/graphics/droch-icon-svg/droch-icon-svg.component.css","webpack:///./src/app/shared/graphics/droch-icon-svg/droch-icon-svg.component.html","webpack:///./src/app/shared/graphics/droch-icon-svg/droch-icon-svg.component.ts","webpack:///./src/app/shared/graphics/droch-icon/droch-icon.component.css","webpack:///./src/app/shared/graphics/droch-icon/droch-icon.component.html","webpack:///./src/app/shared/graphics/droch-icon/droch-icon.component.ts","webpack:///./src/app/shared/models/any-entity.ts","webpack:///./src/app/shared/models/entity-options.ts","webpack:///./src/app/shared/models/monad.ts","webpack:///./src/app/shared/question/adapters/question-adapt.helper.ts","webpack:///./src/app/shared/question/question-base.ts","webpack:///./src/app/shared/question/question-checkbox.ts","webpack:///./src/app/shared/question/question-datepicker.ts","webpack:///./src/app/shared/question/question-datetimepicker.ts","webpack:///./src/app/shared/question/question-dropdown.ts","webpack:///./src/app/shared/question/question-textarea-html.ts","webpack:///./src/app/shared/question/question-textarea.ts","webpack:///./src/app/shared/question/question-textbox.ts","webpack:///./src/app/shared/services/app-auth-resolver.service.ts","webpack:///./src/app/shared/services/app-resolver.service.ts","webpack:///./src/app/shared/services/app-setting.service.ts","webpack:///./src/app/shared/services/auth.service.ts","webpack:///./src/app/shared/services/back-prov.service.ts","webpack:///./src/app/shared/services/data-prov.service.ts","webpack:///./src/app/shared/services/entity-prov.service.ts","webpack:///./src/app/shared/services/error-handler.service.ts","webpack:///./src/app/shared/services/foregin/foreign-key.helper.ts","webpack:///./src/app/shared/services/foregin/foreign-key.service.ts","webpack:///./src/app/shared/services/metadata/metadata-adapt.service.ts","webpack:///./src/app/shared/services/metadata/metadata-prov.service.ts","webpack:///./src/app/shared/services/metadata/metadata.helper.ts","webpack:///./src/app/shared/store/actions/any-entity-set.actions.ts","webpack:///./src/app/shared/store/actions/any-entity.actions.ts","webpack:///./src/app/shared/store/actions/environment.actions.ts","webpack:///./src/app/shared/store/actions/router.actions.ts","webpack:///./src/app/shared/store/effects/any-entity-set.effects.ts","webpack:///./src/app/shared/store/effects/environment.effects.ts","webpack:///./src/app/shared/store/effects/router.effects.ts","webpack:///./src/app/shared/store/index.ts","webpack:///./src/app/shared/store/reducers/any-entity-set.reduser.ts","webpack:///./src/app/shared/store/reducers/any-entity.reduser.ts","webpack:///./src/app/shared/store/reducers/environment.reduser.ts","webpack:///./src/app/shared/store/reducers/index.ts","webpack:///./src/app/shared/store/router.ts","webpack:///./src/app/shared/store/selectors/any-entity-set.selectors.ts","webpack:///./src/app/shared/store/selectors/environment.selectors.ts","webpack:///./src/app/shared/store/selectors/index.ts","webpack:///./src/app/shared/store/selectors/router.selectors.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC9D,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAChE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nconst routes: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","module.exports = \"app-jn-root-page {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n position: absolute;\\r\\n top: 64px;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsU0FBUztJQUNULE9BQU87SUFDUCxRQUFRO0FBQ1oiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImFwcC1qbi1yb290LXBhZ2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDY0cHg7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbiJdfQ== */\"","module.exports = \"\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { drochIcons } from './shared/graphics/corel-droch/corel-droch-data';\nimport { toHtml } from './shared/graphics/corel-droch/corel-droch-base';\n\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\n\nexport class AppComponent {\n title = 'Johny-Galon-app';\n\n constructor( private matIconRegistry: MatIconRegistry ,private sanitized: DomSanitizer){\n\n //Register\n Object.keys(drochIcons)\n .forEach( x => \n this.matIconRegistry.addSvgIconLiteral( \n x , sanitized.bypassSecurityTrustHtml( toHtml(drochIcons[x]) ) \n ))\n } \n}\n","import { NgModule, InjectionToken } from '@angular/core';\nimport { Routes, RouterModule, ActivatedRouteSnapshot } from '@angular/router';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { \n MatCardModule,\n MatTableModule,\n MatButtonModule,\n MatNativeDateModule,\n MatRippleModule,\n MatCheckboxModule,\n MatMenuModule,\n MatDividerModule,\n MatToolbarModule,\n MatTabsModule,\n MatFormFieldModule,\n MatSelectModule,\n MatInputModule,\n MatDatepickerModule,\n MatProgressSpinnerModule,\n MatIconModule,\n MatDialogModule,\n MatTooltipModule,\n MatProgressBarModule,\n MatGridListModule,\n MatTreeModule,\n MatChipsModule,\n MatExpansionModule,\n MatSnackBarModule\n} from '@angular/material';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { JnRootPageComponent } from './jn-galon/jn-root-page/jn-root-page.component';\nimport { JnRootComponent } from './jn-galon/jn-root/jn-root.component';\nimport { JnNotFoundComponent } from './jn-galon/jn-not-found/jn-not-found.component';\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport * as fromStore from '@appStore/index';\nimport { AppSettingsService } from './shared/services/app-setting.service';\nimport { DataProvService } from './shared/services/data-prov.service';\nimport { HttpModule } from '@angular/http';\nimport { StoreRouterConnectingModule, RouterStateSerializer } from '@ngrx/router-store';\nimport { CustomRouterStateSerializer } from '@appStore/router';\nimport { JnNewItemComponent } from './jn-galon/jn-entity/jn-new-item/jn-new-item.component';\n\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { JnItemQuestionComponent } from './jn-galon/jn-entity/jn-item-question/jn-item-question.component';\nimport { ReactiveFormsModule ,FormsModule } from '@angular/forms';\nimport { JgMockTableOption, SdIncomingOption, NvaPlanPurchaseLine, AuthTestDataOption, RiskExamItemsOption, RiskFactorsGroupOption, RiskAssessmentOption, RiskFactorsOption } from '@appModels/entity-options';\nimport { AppResolverService } from './shared/services/app-resolver.service';\nimport { SdNewUserMessageComponent } from './serv-desc/sd-new-user-message/sd-new-user-message.component';\nimport { JnInfoBoxComponent, JnInfoBoxDialogComponent} from './jn-galon/jn-info-box/jn-info-box.component';\nimport { JnItemLabelComponent } from './jn-galon/jn-entity/jn-item-label/jn-item-label.component';\nimport { JgHomeComponent } from './jn-galon/jg-home/jg-home.component';\nimport { DrochIconComponent } from './shared/graphics/droch-icon/droch-icon.component';\nimport { DrochIconSvgComponent } from './shared/graphics/droch-icon-svg/droch-icon-svg.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { DrochIconSvgRegComponent } from './shared/graphics/droch-icon-svg-reg/droch-icon-svg-reg.component';\nimport { JnBusyBoxComponent, JgBusyDialog } from './jn-galon/jn-busy-box/jn-busy-box.component';\nimport { JnBusyBarComponent } from './jn-galon/jn-busy-bar/jn-busy-bar.component';\nimport { JnpFlightItemComponent } from './jn-ispolin/jn-polin-flight/jnp-flight-item/jnp-flight-item.component';\nimport { EntityProvService } from './shared/services/entity-prov.service';\nimport { JnpCmpBarComponent } from './jn-ispolin/jnp-cmp-bar/jnp-cmp-bar.component';\nimport { JnWebCntMainComponent } from './jn-web-cnt/jn-web-cnt-main/jn-web-cnt-main.component';\nimport { JnWebCntMainNstComponent } from './jn-web-cnt/jn-web-cnt-main-nst/jn-web-cnt-main-nst.component';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { JnWebCntItemComponent } from './jn-web-cnt/jn-web-cnt-item/jn-web-cnt-item.component';\nimport { JnNewItemContentComponent } from './jn-galon/jn-entity/jn-new-item-content/jn-new-item-content.component';\nimport { JnNameplateCardComponent } from './jn-galon/jn-nameplate-card/jn-nameplate-card.component';\n\nimport { CKEditorModule } from 'ckeditor4-angular';\nimport { JgTextareaHtmlComponent } from './jn-galon/jg-controls/jg-textarea-html/jg-textarea-html.component';\nimport { MyTelInput, FormFieldCustomControlExample } from './jn-galon/jg-controls/uc-example/form-field-custom-control-example';\nimport { JnRiskExamComponent } from './jn-risks/jn-risk-exam/jn-risk-exam.component';\nimport { JnErrorBarComponent } from './jn-galon/jn-error-bar/jn-error-bar.component';\nimport { BackContextDescriptor } from '@appModels/any-entity';\nimport { AppAuthResolverService } from './shared/services/app-auth-resolver.service';\nimport { JnAuthSelectorComponent, JnAuthSelectorDialogComponent } from './jn-galon/jn-auth-selector/jn-auth-selector.component';\n\n\n\n\n\n//const externalUrlProvider = new InjectionToken('externalUrlRedirectResolver');\n\nconst appRoutes: Routes = [\n { path: '', component: JgHomeComponent, pathMatch: 'full' }, //,data: { option: JgMockTableOption }, resolve: { isLoad:AppResolverService } \n //{ path: 'tutoral/mock', component: JnRootComponent, data: { option: JgMockTableOption} , resolve: { isLoad:AppResolverService } }, \n //{ path: 'tutoral/sd', component: JnRootComponent, data: { option: SdIncomingOption } , resolve: { isLoad:AppResolverService } }, \n\n { path: 'tutoral/values', component: JnRootComponent, data: { option: AuthTestDataOption } , resolve: { isLoad:AppResolverService } }, \n { path: 'forms/sd/incoming', component: SdNewUserMessageComponent, data: { option: SdIncomingOption } , resolve: { isLoad:AppResolverService } }, \n\n // { path: 'forms/wc', component: JnWebCntMainNstComponent }, \n // { path: 'forms/wc/:id', component: JnWebCntItemComponent }, \n\n { \n path: 'forms/risks',\n component: JnRiskExamComponent, \n data:{ \n load:[ \n BackContextDescriptor.Meta(RiskExamItemsOption) ,\n BackContextDescriptor.Data(RiskFactorsGroupOption),\n BackContextDescriptor.Data(RiskAssessmentOption),\n BackContextDescriptor.Data(RiskFactorsOption),\n ] \n },\n resolve: { isLoad:AppAuthResolverService } \n }, \n\n { path: '**', component: JnNotFoundComponent }\n];\n// const appRoutes: Routes = [\n// { path: '', component: JnRootComponent, pathMatch: 'full' },\n// { path: '**', component: JnNotFoundComponent }\n// ];\n\n\n\n\n@NgModule({\n declarations: [\n AppComponent,\n JnRootPageComponent,\n JnRootComponent,\n JnNotFoundComponent,\n JnNewItemComponent,\n JnItemQuestionComponent,\n SdNewUserMessageComponent,\n JnInfoBoxComponent,\n JnInfoBoxDialogComponent,\n JnItemLabelComponent,\n JgHomeComponent,\n DrochIconComponent,\n DrochIconSvgComponent,\n DrochIconSvgRegComponent,\n JnBusyBoxComponent,\n JgBusyDialog,\n JnBusyBarComponent,\n JnpFlightItemComponent,\n JnpCmpBarComponent,\n JnWebCntMainComponent,\n JnWebCntMainNstComponent,\n JnWebCntItemComponent,\n JnNewItemContentComponent,\n JnNameplateCardComponent,\n JgTextareaHtmlComponent,\n FormFieldCustomControlExample,\n MyTelInput,\n JnRiskExamComponent,\n JnErrorBarComponent,\n JnAuthSelectorComponent,\n JnAuthSelectorDialogComponent,\n \n \n \n ],\n\n imports: [\n HttpModule,\n //HttpClientModule,\n BrowserModule,\n BrowserAnimationsModule,\n StoreModule.forRoot( fromStore.reducers ),\n StoreDevtoolsModule.instrument({\n maxAge: 10\n }),\n EffectsModule.forRoot( fromStore.effects), \n StoreRouterConnectingModule.forRoot({\n stateKey: 'router' // name of reducer key\n }),\n RouterModule.forRoot(\n appRoutes,\n { enableTracing: false } // <-- debugging purposes only\n ),\n \n AppRoutingModule,\n MatCardModule,\n MatTableModule,\n MatButtonModule,\n MatNativeDateModule,\n MatRippleModule,\n MatCheckboxModule,\n MatMenuModule,\n MatDividerModule,\n MatToolbarModule,\n MatTableModule,\n MatTabsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n FormsModule,\n MatSelectModule,\n MatInputModule,\n MatDatepickerModule,\n MatProgressSpinnerModule,\n MatIconModule,\n MatDialogModule,\n HttpClientModule,\n MatTooltipModule,\n MatProgressBarModule,\n MatGridListModule,\n MatTreeModule,\n CdkTreeModule,\n MatChipsModule,\n CKEditorModule,\n MatExpansionModule,\n MatSnackBarModule\n \n \n \n ],\n providers: [\n {provide: RouterStateSerializer, useClass: CustomRouterStateSerializer },\n //{provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {hasBackdrop: false}},\n AppSettingsService,\n DataProvService,\n AppResolverService,\n EntityProvService,\n { provide: \"windowObject\", useValue: window} // window Object injection\n // {\n // provide: externalUrlProvider,\n // useValue: (route: ActivatedRouteSnapshot ) => {\n // const externalUrl = route.paramMap.get('externalUrl');\n // window.open('https://ya.ru', '_self');\n // },\n //},\n\n ],\n bootstrap: [AppComponent],\n\n entryComponents: [JnInfoBoxDialogComponent,JgBusyDialog,JnAuthSelectorDialogComponent]\n})\n\nexport class AppModule { }\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2pnLWNvbnRyb2xzL2pnLXRleHRhcmVhLWh0bWwvamctdGV4dGFyZWEtaHRtbC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"{{this.placeholder}}\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst replaceTable = [\n [ \"<%@\", \"<%@\" ],\n [ \"%>\", \"%>\" ]\n]\n\n@Component({\n selector: 'app-jg-textarea-html',\n templateUrl: './jg-textarea-html.component.html',\n styleUrls: ['./jg-textarea-html.component.css'],\n providers: [\n { \n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => JgTextareaHtmlComponent),\n }\n ]\n\n})\n \n\nexport class JgTextareaHtmlComponent implements ControlValueAccessor, OnInit {\n\n @Input() placeholder: string;\n private _onChange:any;\n private value:string; \n private editorInstance:any; \n\n private config = { allowedContent: true , enterMode : 2 }\n\n writeValue(obj: any): void {\n \n this.value = this.preProc(obj) ;\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n // console.log(fn);\n }\n\n setDisabledState?(isDisabled: boolean): void {\n console.log('fff');\n }\n\n \n public onChange( event: any ) {\n\n event && event.sender ? this._onChange( this.postProc( event.sender.getData()) ) : null \n\n // const z = this.postProc( event.sender.getData())\n \n // this._onChange(\n // this.postProc( event.sender.getData())\n // )\n }\n\n public onKey( event: any ) {\n console.log(event);\n } \n\n\n public onReady( event: any ) {\n //console.log(this.editorInstance)\n //this.editorInstance = event.sender;\n //this.editorInstance.config.allowedContent = true;\n //console.log(this.editorInstance)\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n // Исправляем то что накозлил CKEditor\n private postProc = (dta:string) => replaceTable.reduce( (a,x)=> a.replace(x[0],x[1]) , dta ) ;\n // И назад в формат CKEditor\n private preProc = (dta:string) => replaceTable.reduce( (a,x)=> a.replace(x[1],x[0]) , dta ) ;\n \n}\n\n\n\n\n// @Component({\n// selector: 'app-jg-textarea-html',\n// templateUrl: './jg-textarea-html.component.html',\n// styleUrls: ['./jg-textarea-html.component.css'],\n// providers: [{provide: MatFormFieldControl, useExisting: JgTextareaHtml}],\n// })\n// export class JgTextareaHtml implements ControlValueAccessor, MatFormFieldControl , OnDestroy {\n\n// @Input()\n// get formControlName(): string { return this.id; }\n// set formControlName(value: string) {\n// this.id = value;\n// this.stateChanges.next();\n// }\n\n// static nextId = 0;\n\n// parts: FormGroup;\n// stateChanges = new Subject();\n// focused = false;\n// errorState = false;\n// controlType = 'example-tel-input';\n// //id = `example-tel-input-${JgTextareaHtml.nextId++}`;\n// id =\"Content\";\n// describedBy = '';\n// onChange = (_: any) => {};\n// onTouched = () => {};\n \n// get empty() {\n// const {value: {area, exchange, subscriber}} = this.parts;\n \n// return !area && !exchange && !subscriber;\n// }\n \n// get shouldLabelFloat() { return this.focused || !this.empty; }\n \n// @Input()\n// get placeholder(): string { return this._placeholder; }\n// set placeholder(value: string) {\n// this._placeholder = value;\n// this.stateChanges.next();\n// }\n// private _placeholder: string;\n \n// @Input()\n// get required(): boolean { return this._required; }\n// set required(value: boolean) {\n// this._required = true; // coerceBooleanProperty(value);\n// this.stateChanges.next();\n// }\n// private _required = false;\n \n// @Input()\n// get disabled(): boolean { return this._disabled; }\n// set disabled(value: boolean) {\n// this._disabled = false ; // coerceBooleanProperty(value);\n// this._disabled ? this.parts.disable() : this.parts.enable();\n// this.stateChanges.next();\n// }\n// private _disabled = false;\n \n// @Input()\n// get value(): JgTextareaHtmlComponent | null {\n// const {value: {area, exchange, subscriber}} = this.parts;\n// if (area.length === 3 && exchange.length === 3 && subscriber.length === 4) {\n// return new JgTextareaHtmlComponent(); //area, exchange, subscriber\n// }\n// return null;\n// }\n// set value(tel: JgTextareaHtmlComponent | null) {\n// //const {area, exchange, subscriber} = tel || new JgTextareaHtmlComponent(); //'', '', ''\n// //this.parts.setValue({area, exchange, subscriber});\n// this.stateChanges.next();\n// }\n \n// constructor(\n// formBuilder: FormBuilder,\n// private _focusMonitor: FocusMonitor,\n// private _elementRef: ElementRef,\n// @Optional() @Self() public ngControl: NgControl) {\n \n// this.parts = formBuilder.group({\n// area: '',\n// exchange: '',\n// subscriber: '',\n// });\n \n// _focusMonitor.monitor(_elementRef, true).subscribe(origin => {\n// if (this.focused && !origin) {\n// this.onTouched();\n// }\n// this.focused = !!origin;\n// this.stateChanges.next();\n// });\n \n// if (this.ngControl != null) {\n// this.ngControl.valueAccessor = this;\n// }\n// }\n \n// ngOnDestroy() {\n// this.stateChanges.complete();\n// this._focusMonitor.stopMonitoring(this._elementRef);\n// }\n \n// setDescribedByIds(ids: string[]) {\n// this.describedBy = ids.join(' ');\n// }\n \n// onContainerClick(event: MouseEvent) {\n// if ((event.target as Element).tagName.toLowerCase() != 'input') {\n// this._elementRef.nativeElement.querySelector('input')!.focus();\n// }\n// }\n \n// writeValue(tel: JgTextareaHtmlComponent | null): void {\n// this.value = tel;\n// }\n \n// registerOnChange(fn: any): void {\n// this.onChange = fn;\n// }\n \n// registerOnTouched(fn: any): void {\n// this.onTouched = fn;\n// }\n \n// setDisabledState(isDisabled: boolean): void {\n// this.disabled = isDisabled;\n// }\n \n// _handleInput(): void {\n// this.onChange(this.parts.value);\n// }\n// }\n\n // set value(ctrl: JgTextareaHtmlComponent | null) {\n // this.stateChanges.next();\n // } \n\n // id = \"Content\";\n\n // @Input()\n // get placeholder() {\n // return this._placeholder;\n // }\n // set placeholder(plh) {\n // this._placeholder = plh;\n // this.stateChanges.next();\n // }\n\n // private _placeholder: string;\n \n // ngControl: NgControl = null;\n \n // focused: boolean = false; \n // empty: boolean;\n // shouldLabelFloat: boolean;\n // required: boolean;\n // disabled: boolean;\n // errorState: boolean;\n // controlType?: string;\n // autofilled?: boolean;\n\n \n\n\n // setDescribedByIds(ids: string[]): void {\n // throw new Error(\"Method not implemented.\");\n // }\n // onContainerClick(event: MouseEvent): void {\n // throw new Error(\"Method not implemented.\");\n // }\n\n // ngOnDestroy() {\n // this.stateChanges.complete();\n // }\n \n//}\n","module.exports = \".example-tel-input-container {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.example-tel-input-element {\\r\\n border: none;\\r\\n background: none;\\r\\n padding: 0;\\r\\n outline: none;\\r\\n font: inherit;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.example-tel-input-spacer {\\r\\n opacity: 0;\\r\\n transition: opacity 200ms;\\r\\n}\\r\\n\\r\\n:host.example-floating .example-tel-input-spacer {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vamctY29udHJvbHMvdWMtZXhhbXBsZS9leGFtcGxlLXRlbC1pbnB1dC1leGFtcGxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLGFBQWE7RUFDYixhQUFhO0VBQ2Isa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLFVBQVU7QUFDWiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2pnLWNvbnRyb2xzL3VjLWV4YW1wbGUvZXhhbXBsZS10ZWwtaW5wdXQtZXhhbXBsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS10ZWwtaW5wdXQtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZXhhbXBsZS10ZWwtaW5wdXQtZWxlbWVudCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZXhhbXBsZS10ZWwtaW5wdXQtc3BhY2VyIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXM7XHJcbn1cclxuXHJcbjpob3N0LmV4YW1wbGUtZmxvYXRpbmcgLmV4YW1wbGUtdGVsLWlucHV0LXNwYWNlciB7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \"/** No CSS for this example */ \\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vamctY29udHJvbHMvdWMtZXhhbXBsZS9mb3JtLWZpZWxkLWN1c3RvbS1jb250cm9sLWV4YW1wbGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2pnLWNvbnRyb2xzL3VjLWV4YW1wbGUvZm9ybS1maWVsZC1jdXN0b20tY29udHJvbC1leGFtcGxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBObyBDU1MgZm9yIHRoaXMgZXhhbXBsZSAqLyBcclxuIl19 */\"","module.exports = \"\\r\\n \\r\\n phone\\r\\n Include area code\\r\\n \\r\\n\\r\\n\\r\\n\"","import {FocusMonitor} from '@angular/cdk/a11y';\r\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\r\nimport {Component, ElementRef, Input, OnDestroy, Optional, Self} from '@angular/core';\r\nimport {FormBuilder, FormGroup, ControlValueAccessor, NgControl} from '@angular/forms';\r\nimport {MatFormFieldControl} from '@angular/material/form-field';\r\nimport {Subject} from 'rxjs';\r\n\r\n/** @title Form field with custom telephone number input control. */\r\n@Component({\r\n selector: 'form-field-custom-control-example',\r\n templateUrl: 'form-field-custom-control-example.html',\r\n styleUrls: ['form-field-custom-control-example.css'],\r\n})\r\nexport class FormFieldCustomControlExample {}\r\n\r\n/** Data structure for holding telephone number. */\r\nexport class MyTel {\r\n constructor(public area: string, public exchange: string, public subscriber: string) {}\r\n} \r\n\r\n/** Custom `MatFormFieldControl` for telephone number input. */\r\n@Component({\r\n selector: 'example-tel-input',\r\n templateUrl: 'example-tel-input-example.html',\r\n styleUrls: ['example-tel-input-example.css'],\r\n providers: [{provide: MatFormFieldControl, useExisting: MyTelInput}],\r\n host: {\r\n '[class.example-floating]': 'shouldLabelFloat',\r\n '[id]': 'id',\r\n '[attr.aria-describedby]': 'describedBy',\r\n }\r\n})\r\nexport class MyTelInput implements ControlValueAccessor, MatFormFieldControl, OnDestroy {\r\n static nextId = 0;\r\n\r\n parts: FormGroup;\r\n stateChanges = new Subject();\r\n focused = false;\r\n errorState = false;\r\n controlType = 'example-tel-input';\r\n id = `example-tel-input-${MyTelInput.nextId++}`;\r\n describedBy = '';\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n get empty() {\r\n const {value: {area, exchange, subscriber}} = this.parts;\r\n\r\n return !area && !exchange && !subscriber;\r\n }\r\n\r\n get shouldLabelFloat() { return this.focused || !this.empty; }\r\n\r\n @Input()\r\n get placeholder(): string { return this._placeholder; }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string;\r\n\r\n @Input()\r\n get required(): boolean { return this._required; }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this._disabled ? this.parts.disable() : this.parts.enable();\r\n this.stateChanges.next();\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n get value(): MyTel | null {\r\n const {value: {area, exchange, subscriber}} = this.parts;\r\n if (area.length === 3 && exchange.length === 3 && subscriber.length === 4) {\r\n return new MyTel(area, exchange, subscriber);\r\n }\r\n return null;\r\n }\r\n set value(tel: MyTel | null) {\r\n const {area, exchange, subscriber} = tel || new MyTel('', '', '');\r\n this.parts.setValue({area, exchange, subscriber});\r\n this.stateChanges.next();\r\n }\r\n\r\n constructor(\r\n formBuilder: FormBuilder,\r\n private _focusMonitor: FocusMonitor,\r\n private _elementRef: ElementRef,\r\n @Optional() @Self() public ngControl: NgControl) {\r\n\r\n this.parts = formBuilder.group({\r\n area: '',\r\n exchange: '',\r\n subscriber: '',\r\n });\r\n\r\n _focusMonitor.monitor(_elementRef, true).subscribe(origin => {\r\n if (this.focused && !origin) {\r\n this.onTouched();\r\n }\r\n this.focused = !!origin;\r\n this.stateChanges.next();\r\n });\r\n\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stateChanges.complete();\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n setDescribedByIds(ids: string[]) {\r\n this.describedBy = ids.join(' ');\r\n }\r\n\r\n onContainerClick(event: MouseEvent) {\r\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\r\n this._elementRef.nativeElement.querySelector('input')!.focus();\r\n }\r\n }\r\n\r\n writeValue(tel: MyTel | null): void {\r\n this.value = tel;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n _handleInput(): void {\r\n this.onChange(this.parts.value);\r\n }\r\n}\r\n\r\n\r\n/** Copyright 2019 Google LLC. All Rights Reserved.\r\n Use of this source code is governed by an MIT-style license that\r\n can be found in the LICENSE file at http://angular.io/license */","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2pnLWhvbWUvamctaG9tZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n\\n \\n\\n\\n\\n\\n \\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-jg-home',\n templateUrl: './jg-home.component.html',\n styleUrls: ['./jg-home.component.css']\n})\nexport class JgHomeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \" .example-button{\\r\\n margin: 8px 20px 8px 5px;\\r\\n height: 46px;\\r\\n \\r\\n } \\r\\n\\r\\n .icon-title {\\r\\n /* margin-top: -3px; */\\r\\n height: 46px;\\r\\n width: 46px;\\r\\n font-size: 46px;\\r\\n\\r\\n} \\r\\n\\r\\n .icon-title2 {\\r\\n margin-top: 2px; \\r\\n height: 46px;\\r\\n width: 46px;\\r\\n\\r\\n} \\r\\n\\r\\n .my-det\\r\\n{\\r\\n display: inline-flex;\\r\\n vertical-align: middle;\\r\\n} \\r\\n\\r\\n .my-ico\\r\\n{\\r\\n padding-right: 20px;\\r\\n font-size: 48px;\\r\\n height: 48px;\\r\\n width: 48px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tYXV0aC1zZWxlY3Rvci9qbi1hdXRoLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJFQUFFO0lBQ0Usd0JBQXdCO0lBQ3hCLFlBQVk7O0VBRWQ7O0VBRUE7SUFDRSx3QkFBd0I7SUFDeEIsWUFBWTtJQUNaLFdBQVc7SUFDWCxlQUFlOztBQUVuQjs7RUFFQTtJQUNJLGVBQWU7SUFDZixZQUFZO0lBQ1osV0FBVzs7QUFFZjs7RUFHQTs7SUFFSSxvQkFBb0I7SUFDcEIsc0JBQXNCO0FBQzFCOztFQUVBOztJQUVJLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsWUFBWTtJQUNaLFdBQVc7QUFDZiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLWF1dGgtc2VsZWN0b3Ivam4tYXV0aC1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiAgLmV4YW1wbGUtYnV0dG9ue1xyXG4gICAgbWFyZ2luOiA4cHggMjBweCA4cHggNXB4O1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgXHJcbiAgfSAgXHJcblxyXG4gIC5pY29uLXRpdGxlIHtcclxuICAgIC8qIG1hcmdpbi10b3A6IC0zcHg7ICAgKi9cclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIHdpZHRoOiA0NnB4O1xyXG4gICAgZm9udC1zaXplOiA0NnB4O1xyXG5cclxufVxyXG5cclxuLmljb24tdGl0bGUyIHtcclxuICAgIG1hcmdpbi10b3A6IDJweDsgICBcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIHdpZHRoOiA0NnB4O1xyXG5cclxufVxyXG5cclxuXHJcbi5teS1kZXRcclxue1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXktaWNvXHJcbntcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICB3aWR0aDogNDhweDtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n perm_identity\\r\\n
\\r\\n \\r\\n

\\r\\n Выбор типа аутентификаци\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

Ресурс \\\"{{data.fromSource}}\\\" запросил аутентификацию пользователя

\\r\\n

Для доступа к запрашиваемому ресурсу вы можете атентифицироватся используя Federation Service ООО \\\"Нижневартовскавиа\\\". \\r\\n Используйте этот вариант, если вы имеете учетную запись в домене \\\"NVAVIA.RU\\\". \\r\\n

\\r\\n

\\r\\n В противном случае вы модете зайти используя \\r\\n учетную запись Google. \\r\\n

\\r\\n \\r\\n

\\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLWF1dGgtc2VsZWN0b3Ivam4tYXV0aC1zZWxlY3Rvci5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n\"","import { Component, OnInit, Inject } from '@angular/core';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport * as fromStore from '@appStore/index';\nimport { Store } from '@ngrx/store';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter, distinct, tap, distinctUntilChanged } from 'rxjs/operators';\nimport { authingReqData } from '@appStore/reducers/environment.reduser';\nimport { AuthStart, AuthLogoutSucess } from '@appStore/actions/environment.actions';\nimport { TAG_NVA, TAG_GOOGLE } from 'app/shared/services/auth.service';\n\n@Component({\n selector: 'app-jn-auth-selector',\n templateUrl: './jn-auth-selector.component.html',\n styleUrls: ['./jn-auth-selector.component.css']\n})\n\nexport class JnAuthSelectorComponent implements OnInit {\n\n //public showDialog$ : Observable; \n //public authRequest$: Observable; \n \n private subscriptions:Subscription[] = [];\n private request:authingReqData;\n\n constructor(private store: Store, public dialog: MatDialog) { }\n\n ngOnInit() {\n this.subscriptions.push( \n this.store.select( fromSelectors.authRequest()).pipe(\n distinctUntilChanged( (x,y) => (x && y) && x.fromError == y.fromError), \n filter( x => x && (!x.tag || x.tag == \"\") ),\n //tap(x=>console.log( x )),\n ).subscribe (x => this.onDialog(x))\n ) \n }\n\n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n\n onDialog( authReq:authingReqData ){\n this.request = authReq;\n //console.log(authReq)\n ;\n const dialogRef = this.dialog.open(JnAuthSelectorDialogComponent, {\n width: '600px',\n data: authReq \n });\n\n \n dialogRef.afterClosed().subscribe(result => {\n //console.log(result);\n result ? this.store.dispatch( new AuthStart( {...this.request, tag:result , fromSource:\"eeee\"} ) ) : this.store.dispatch( new AuthLogoutSucess() ) ;\n // this.store.dispatch( new ExecCurrent( new ErrorAnyEntityReset() ) );\n });\n }\n} \n\n@Component({\n selector: 'jn-auth-selector-dialog',\n templateUrl: './jn-auth-selector-dialog.component.html',\n styleUrls: ['./jn-auth-selector-dialog.component.css'] \n})\nexport class JnAuthSelectorDialogComponent {\n\n constructor(\n private store: Store,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {}\n\n onNoClick(): void { this.dialogRef.close(); }\n onClickNVA(): void { this.dialogRef.close( TAG_NVA); }\n onClickGOO(): void { this.dialogRef.close( TAG_GOOGLE); }\n\n}\n","module.exports = \".jg-busy-bar {\\r\\n height:100%; \\r\\n font-size: 10px;\\r\\n overflow: hidden;\\r\\n /* z-index: 4; */\\r\\n} \\r\\n\\r\\n.jg-busy-bar-cnt{\\r\\n transition: height 0.9s ease-in-out;\\r\\n overflow: hidden;\\r\\n height: 0;\\r\\n\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0; \\r\\n z-index: 4; \\r\\n} \\r\\n\\r\\n.flex-spacer{\\r\\n flex-grow: 1;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tYnVzeS1iYXIvam4tYnVzeS1iYXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLG1DQUFtQztJQUNuQyxnQkFBZ0I7SUFDaEIsU0FBUzs7SUFFVCxlQUFlO0lBQ2YsTUFBTTtJQUNOLE9BQU87SUFDUCxRQUFRO0lBQ1IsVUFBVTtBQUNkOztBQUdBO0lBQ0ksWUFBWTtBQUNoQiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLWJ1c3ktYmFyL2puLWJ1c3ktYmFyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuamctYnVzeS1iYXIge1xyXG4gICAgaGVpZ2h0OjEwMCU7IFxyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIC8qIHotaW5kZXg6IDQ7ICovXHJcbn0gICAgXHJcblxyXG4uamctYnVzeS1iYXItY250e1xyXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG5cclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDsgXHJcbiAgICB6LWluZGV4OiA0OyAgXHJcbn0gICBcclxuXHJcblxyXG4uZmxleC1zcGFjZXJ7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbn0iXX0= */\"","module.exports = \"\\n
\\n \\n
\\n
\\n

{{ (descr$ | async) }}

\\n
\\n \\n
\\n
\\n \\n \\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BusyInfo } from '@appStore/selectors';\nimport { Store } from '@ngrx/store';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport * as fromStore from '@appStore/index';\nimport { distinctUntilChanged, map, filter, combineLatest, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-jn-busy-bar',\n templateUrl: './jn-busy-bar.component.html',\n styleUrls: ['./jn-busy-bar.component.css']\n})\n\nexport class JnBusyBarComponent implements OnInit {\n\n @ViewChild('jgbar') bar;\n\n public spiner$ : Observable; \n public descr$ : Observable; \n \n \n constructor(private store: Store) {\n\n this.spiner$ = this.store.select( fromSelectors.selBuzyInfo() ).pipe(\n distinctUntilChanged((x:BusyInfo,y:BusyInfo) => x&&y&&x.act==y.act&&x.obj==y.obj )\n );\n\n this.descr$ = this.spiner$.pipe(\n combineLatest( this.store.select( fromSelectors.selCurItemMetaNote()).pipe(distinctUntilChanged() ) , (x,y) => ({...x, curent:y }) ) ,\n //tap( (x)=>console.log(x) ),\n map( (x) => \n (x && x.act) ? x.act + '['+x.obj+']... ' \n : x.curent ? x.curent : ''\n )\n ) \n\n }\n\n ngOnInit() {\n this.spiner$.pipe(\n map( (x) => x?20: 0 ),\n distinctUntilChanged()\n ).subscribe( \n (x) => this.updateHeight(x)\n );\n }\n\n updateHeight(hgt:number) {\n const el = this.bar.nativeElement;\n \n el.style.height = ''+hgt+'px'\n // setTimeout(() => {\n // el.style.height = ''+hgt+'px';\n // }, hgt?300:300);\n\n }\n}\n","module.exports = \".jn-onerow{\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n}\\r\\n\\r\\n.jn-cnt{\\r\\n vertical-align: middle;\\r\\n /* line-height: 36px; */\\r\\n padding-left: 20px;\\r\\n width:300px;\\r\\n overflow: hidden; \\r\\n font-size: 12px; \\r\\n} \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tYnVzeS1ib3gvamctYnVzeS1kaWFsb2cuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLWJ1c3ktYm94L2pnLWJ1c3ktZGlhbG9nLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5qbi1vbmVyb3d7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG5cclxuLmpuLWNudHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAvKiBsaW5lLWhlaWdodDogMzZweDsgICovXHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICB3aWR0aDozMDBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47IFxyXG4gICAgZm9udC1zaXplOiAxMnB4OyAgXHJcbn0gIl19 */\"","module.exports = \"\\n
Загрузка...
\\n \\n \\n
\\n {{ (data | async)?.act }}\\n [{{ (data | async)?.obj }}]...\\n
\\n \\n
\\n\\n\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLWJ1c3ktYm94L2puLWJ1c3ktYm94LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\"","import { Component, OnInit, Inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport * as fromStore from '@appStore/index';\nimport { Observable, timer, Subscription } from 'rxjs';\nimport { map, distinctUntilChanged, take, filter } from 'rxjs/operators';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { BusyInfo } from '@appStore/selectors/index';\n\n\n@Component({\n selector: 'app-jn-busy-box',\n templateUrl: './jn-busy-box.component.html',\n styleUrls: ['./jn-busy-box.component.css']\n})\nexport class JnBusyBoxComponent implements OnInit {\n\n public spiner$ : Observable; \n private dialogRef : any = null;\n\n constructor(private store: Store,public dialog: MatDialog) {\n\n this.spiner$ = this.store.select( fromSelectors.selBuzyInfo() ).pipe(\n distinctUntilChanged((x:BusyInfo,y:BusyInfo) => x&&y&&x.act==y.act&&x.obj==y.obj )\n );\n\n this.spiner$.subscribe( \n (x:BusyInfo) => this.manageDialog(x) \n );\n\n }\n\n buildDialog = () => this.dialog.open( JgBusyDialog, { data: this.spiner$.pipe(filter(x=>!!x))} );\n\n manageDialog = (idBusy:BusyInfo) => this.dialogRef = !!idBusy && !this.dialogRef ? this.buildDialog() : this.dialogRef;\n \n ngOnInit() {\n }\n\n}\n\n@Component({\n selector: 'jg-busy-dialog',\n templateUrl: './jg-busy-dialog.html',\n styleUrls: ['./jg-busy-dialog.css']\n})\nexport class JgBusyDialog {\n\n private closeSubscribe: Subscription = null; \n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: Observable ) {\n this.tick();\n } //BusyInfo\n\n public tick(){\n this.closeSubscribe ? this.closeSubscribe.unsubscribe() : null; \n this.closeSubscribe = timer(500).pipe(take(1)).subscribe( x => this.dialogRef.close());\n } \n}","module.exports = \".example-full-width {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n.with-icon {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tZW50aXR5L2puLWl0ZW0tbGFiZWwvam4taXRlbS1sYWJlbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztFQUNiOztBQUVGO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtBQUN2QiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLWVudGl0eS9qbi1pdGVtLWxhYmVsL2puLWl0ZW0tbGFiZWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWZ1bGwtd2lkdGgge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIFxyXG4ud2l0aC1pY29uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\n \\n \\n \\n \\n\\n
{{value$ | async}}
\\n \\n
\\n check_box \\n check_box_outline_blank \\n {{label$ | async }}\\n \\n \\n \\n
\\n\\n
\\n \\n\\n\"","import { Component, OnInit, Input } from '@angular/core';\n\nimport { Store } from '@ngrx/store';\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { AnyEntity } from '@appModels/any-entity';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\nconst f = (n,k) => {\n console.log(n);\n console.log(k);\n return n==0 && k==0 \n ? 1\n : n!==0 && k==0 \n ? 0\n : k > n \n ? f( n , n) \n : f(n,k-1)+f(n-k,k) \n}\n\n\n@Component({\n selector: 'app-jn-item-label',\n templateUrl: './jn-item-label.component.html',\n styleUrls: ['./jn-item-label.component.css']\n})\n\nexport class JnItemLabelComponent implements OnInit {\n\n @Input() key: string;\n @Input() recId: any;\n\n public value$: Observable;\n public label$: Observable;\n public type$: Observable;\n\n constructor( private store: Store\n ) { \n\n //f(3,3);\n }\n\n ngOnInit() {\n //console.log(this.key)\n //console.log(this.recId)\n this.value$ = this.store.select( fromSelectors.selectCurRowVal(this.key, this.recId ))\n this.label$ = this.store.select( fromSelectors.selCurFieldDescribes( )).pipe(\n map(x => x.find( (e) => e.id == this.key )),\n map(x => x&&x.hasOwnProperty('name')&&x.name ? x.name : this.key)\n );\n this.type$ = this.store.select( fromSelectors.selCurFieldDescribes( )).pipe(\n map(x => x.find( (e) => e.id == this.key )),\n map(x => x&&x.hasOwnProperty('type')&&x.type ? x.type : this.key)\n );\n\n this.value$.subscribe(x=> console.log(x));\n }\n\n\n\n}\n","module.exports = \".example-full-width {\\r\\n width: 100%;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tZW50aXR5L2puLWl0ZW0tcXVlc3Rpb24vam4taXRlbS1xdWVzdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztFQUNiIiwiZmlsZSI6InNyYy9hcHAvam4tZ2Fsb24vam4tZW50aXR5L2puLWl0ZW0tcXVlc3Rpb24vam4taXRlbS1xdWVzdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtZnVsbC13aWR0aCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9Il19 */\"","module.exports = \"\\n
\\n
\\n \\n \\n \\n {{question.hint}} \\n \\n {{errorMessage()}}\\n \\n \\n\\n \\n \\n {{question.hint}} \\n \\n {{errorMessage()}}\\n \\n \\n \\n
\\n

\\n {{question.getExLabel()}} \\n

\\n
\\n\\n \\n \\n \\n \\n {{opt.value}}\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n
\\n \\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n
\\n
\"","import { Component, OnInit, Input } from '@angular/core';\nimport { QuestionBase } from 'app/shared/question/question-base';\nimport { FormGroup, AbstractControl } from '@angular/forms';\n\nimport { Store } from '@ngrx/store';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { Observable, of } from 'rxjs';\nimport { PrepareByLoc, Exec } from '@appStore/actions/any-entity-set.actions';\nimport { filter, mergeMap, map, tap, switchMap, take, takeUntil, distinctUntilChanged } from 'rxjs/operators';\nimport { GetItemsPart } from '@appStore/actions/any-entity.actions';\nimport { fillLocationMacros } from 'app/shared/services/foregin/foreign-key.helper';\n\n\nconst DEF_VALID_ERROR = \"Неверное значение\";\nconst REF_LOC_PROP = \"optionsRefLoc\";\nconst ROW_SEED_PROP = \"rowSeed$\";\n\n@Component({\n selector: 'app-jn-item-question',\n templateUrl: './jn-item-question.component.html',\n styleUrls: ['./jn-item-question.component.css']\n})\nexport class JnItemQuestionComponent implements OnInit{ \n\n @Input() question: QuestionBase;\n @Input() form: FormGroup;\n \n private control: AbstractControl;\n private options$: Observable<{}[]>;\n\n constructor(\n private store: Store//,\n //private fkService: ForeignKeyService\n ) { \n\n }\n\n ngOnInit(){\n this.control = this.form.controls[this.question.key];\n this.prepareSecondaryData();\n\n //console.log(this.question.controlType);\n\n if(this.question.controlType == 'dropdown'){\n //this.options$ = this.store.select( fromSelectors.selectOptionsByLoc( this.question[REF_LOC_PROP] )); //чистый \n\n // this.options$ = this.question.hasOwnProperty(ROW_SEED_PROP) ? this.question[ROW_SEED_PROP] : of(null).pipe(\n // tap( x => console.log( this.question)),\n // map( x => x && this.question.hasOwnProperty(REF_LOC_PROP) ? fillLocationMacros(this.question[REF_LOC_PROP],x ) : \"\" ),\n // tap( (x:string) => x ? this.store.dispatch( new PrepareByLoc( x )) : null ),\n // switchMap( x => this.store.select( fromSelectors.selectForeignOptionsByLoc$( this.question[REF_LOC_PROP], this.question[ROW_SEED_PROP] )).pipe( mergeMap( x=>x ) ) )\n // )\n\n this.options$ = this.store.select( \n fromSelectors.selectForeignOptionsByLoc$( this.question[REF_LOC_PROP], this.question[ROW_SEED_PROP] )).pipe( \n mergeMap( x=>x ) ,\n filter( x => !!x ),\n //distinctUntilChanged(),\n //take(1), //151020\n //tap(x=>console.log(x))\n ) ;\n \n // ); //референсный \n\n\n }\n\n //this.form.valueChanges.subscribe(x => console.log(x));\n }\n\n private prepareSecondaryData (){\n //console.log(this.question) ;\n\n ( this.question.hasOwnProperty(ROW_SEED_PROP) && this.question[ROW_SEED_PROP] ? this.question[ROW_SEED_PROP] : of(null)).pipe(\n //tap( x => console.log( this.question )),\n // tap( x => console.log( x )),\n map( x => x && this.question.hasOwnProperty(REF_LOC_PROP) ? fillLocationMacros(this.question[REF_LOC_PROP], x ) : \"\" ),\n // tap( x => console.log(x) ),\n take(1)\n ).subscribe( x => !!x ? this.store.dispatch( new PrepareByLoc(x) ) : null );\n\n \n \n //fillLocationMacros(loc,x)\n //isFullIndepended\n \n\n // if( this.question.hasOwnProperty(ROW_SEED_PROP) ) \n\n // !this.question.hasOwnProperty(REF_LOC_PROP) ? null:\n // this.store.dispatch( new PrepareByLoc( this.question[REF_LOC_PROP] ));\n\n //!this.question.hasOwnProperty(REF_LOC_PROP) ? null: console.log(this.question[REF_LOC_PROP]);\n \n // еуыештп \n // !this.question.hasOwnProperty(REF_LOC_PROP) ? null:\n // // this.store.dispatch( new Exec( { name:'NvaSdEventType' , itemAction: new GetItemsPart('./Ax/NvaSdEventType?SERVICEDESCID=1') }) ) ;\n // this.store.select( fromSelectors.selectIsExistByLoc( this.question[REF_LOC_PROP] )).pipe(\n // filter( x => !!x && this.question[REF_LOC_PROP] == './Ax/NvaSdEventType?servicedescid={ServiceDescID}' )\n // ).subscribe( x => //console.log('eeeeeeeeeeeeeeeeeeeeeeeeee') \n // this.store.dispatch( new Exec( { name:'NvaSdEventType' , itemAction: new GetItemsPart('./Ax/NvaSdEventType?servicedescid=1') }) ) \n // ) \n\n } \n\n get isValid() { \n return this.control.valid;\n }\n\n hasError(errorCode: string, path?: string[]) { \n return this.control.hasError(errorCode, path); \n }\n\n errorMessage() { \n const r = Object.keys(this.question.validationMessages).find( (x) => this.hasError(x) ) ;\n return r == undefined ? DEF_VALID_ERROR : this.question.validationMessages[r] ; \n }\n\n}\n","module.exports = \".spinner{\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tZW50aXR5L2puLW5ldy1pdGVtLWNvbnRlbnQvam4tbmV3LWl0ZW0tY29udGVudC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EiLCJmaWxlIjoic3JjL2FwcC9qbi1nYWxvbi9qbi1lbnRpdHkvam4tbmV3LWl0ZW0tY29udGVudC9qbi1uZXctaXRlbS1jb250ZW50LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3Bpbm5lcntcclxufSJdfQ== */\"","module.exports = \"
\\n \\n
\\n \\n
\\n \\n
\\n\\n \\n \\n
\\n\\n
\\n\\n\\n\\n\\n \\n\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { AnyEntity } from '@appModels/any-entity';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { filter, map, mergeMap, switchMap, take, tap } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { ExecCurrent } from '@appStore/actions/any-entity-set.actions';\n\ninterface jnForm { questions:any, formGroup:FormGroup} ;\n\n@Component({\n selector: 'app-jn-new-item-content',\n templateUrl: './jn-new-item-content.component.html',\n styleUrls: ['./jn-new-item-content.component.css']\n})\n\nexport class JnNewItemContentComponent implements OnInit {\n\n //@Input() item$:Observable;\n @Input() controls$: Observable;\n\n //public controls: { questions:any, formGroup:FormGroup}; \n\n constructor(private store: Store) { }\n\n ngOnInit() {\n\n //this.buildSubscriptions();\n\n //this.controls$.pipe( tap( x => x[\"formGroup\"][\"valueChanges\"].subscribe(x=> console.log(x)) ));\n\n // this.controls$.subscribe(x=> console.log(x))\n\n // this.controls$.pipe(\n // map( x => x[\"formGroup\"][\"controls\"] ), \n // map( x => { x.hasOwnProperty(\"AirCraft\") ? x[\"AirCraft\"].setValidators([Validators.required]) : console.log(\"222\"); return x }),\n // map( x => x.hasOwnProperty(\"AirCraft\") ? (x[\"AirCraft\"].validator)(x[\"AirCraft\"]) : \"eeee\" ),\n // // map( x => { x.hasOwnProperty(\"AirCraft\") ? x[\"AirCraft\"].setValidators([Validators.required]) : console.log(x); return null }),\n // //filter ( x => !!x )\n\n // // //map( (x) => x[2])\n // ).subscribe(x=> console.log(x))\n\n }\n\n ngAfterViewInit(){\n //this.controls$.pipe( tap( x => x.formGroup.get('FlightRoute').valueChanges.subscribe(x=> console.log(x)) ));\n\n //this.controls$.pipe()\n\n // this.valid$ = this.freeControls$.pipe(\n // filter(x=>!!x),\n // tap( x => x.formGroup.get('FlightRoute').valueChanges.subscribe( y => console.log(y)))\n // );\n\n // this.valid$.subscribe( x => console.log(x));\n\n //this.valid$ = this.freeControls$.pipe( tap( x => x.formGroup.get('FlightRoute').valueChanges.subscribe( y => console.log(y))));\n\n }\n\n buildSubscriptions(){\n\n // push control changes to store\n \n // this.controls$\n // .pipe( \n // tap(x => console.log(x)),\n // mergeMap(x => x.formGroup.valueChanges)\n // )\n // .subscribe( x => console.log(x)) ///new SetRowSeed(x)\n\n // this.controls$.pipe( filter (x => !!x.formGroup&&x.questions ), take(1))\n // .subscribe( x => this.controls = x )\n };\n\n\n onSubmit() {\n // this.store.select(fromSelectors.selCurRowSeed()).subscribe( \n // x => this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new ChangeRowSeed(x) }) new ExecCurrent( new AddItem(x) ) )\n // ).unsubscribe();\n } \n}\n","module.exports = \"\\r\\n.spinner{\\r\\n left: 50%;\\r\\n margin-left: -4em;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tZW50aXR5L2puLW5ldy1pdGVtL2puLW5ldy1pdGVtLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0lBQ0ksU0FBUztJQUNULGlCQUFpQjtFQUNuQiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLWVudGl0eS9qbi1uZXctaXRlbS9qbi1uZXctaXRlbS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi5zcGlubmVye1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC00ZW07XHJcbiAgfSJdfQ== */\"","module.exports = \"
\\n\\n
\\n
\\n \\n
\\n\\n
\\n \\n
\\n \\n
\\n Saved the following values
{{payLoad}}\\n
\\n\\n
\\n\\n
\\n\\n\\n \\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup} from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport { Observable, Subscription, of, from } from 'rxjs';\nimport { skipUntil, skip, combineLatest, map, mergeMap, filter, distinctUntilChanged } from 'rxjs/operators';\n\nimport { GetTemplateRowSeed, AddItem, ChangeRowSeed } from '@appStore/actions/any-entity.actions';\nimport { ExecCurrent, PartLoadByLoc } from '@appStore/actions/any-entity-set.actions';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\n\n//const FG_VALID_STATE ='VALID';\n\n/**\n * План \n * 1. Список контролов он из списка полей с метаданными..\n * 2. Пробуем загрузить метаданные\n * \n */\n\n@Component({\n selector: 'app-jn-new-item',\n templateUrl: './jn-new-item.component.html',\n styleUrls: ['./jn-new-item.component.css']\n})\nexport class JnNewItemComponent implements OnInit {\n\n public controls$: Observable<{ questions:any, formGroup:FormGroup} >;\n private dispChangeRequestForeignData$ : Observable ; // Triger for load foreign data (Not loaded location with resolved macros) \n private dispPrimaryRequestForeignData$: Observable ; // Triger for primaryload foreign data \n private subscriptions: Subscription[] = [];\n\n constructor(\n private store: Store//,\n //private fkService: ForeignKeyService\n ) { }\n\n ngOnInit() {\n this.buildStreams() ; \n this.buildSubscriptions();\n this.store.dispatch( new ExecCurrent( new GetTemplateRowSeed() ) );\n }\n\n buildStreams(){\n // Build controls set after getting row template\n this.controls$ = \n this.store.select( fromSelectors.selCurFormControls()).pipe(\n skipUntil( this.store.select( fromSelectors.selCurRowTemplate() ).pipe( skip(1) ) ) //горбатенько немного...\n ); \n\n // Form Controls set \n const observablesFields$ = this.controls$.pipe(\n map(x => x.formGroup),\n combineLatest( \n this.store.select(fromSelectors.selCurMacroParentFieldsWithLocs()),\n (fgr,fInfo) => \n Object.keys(fInfo)\n .map( x => ({ ctrl:fgr.get(x), name:x, locs:fInfo[x] }) ).filter(z=>!!z.ctrl)\n ));\n\n // Change owner controls stream \n const observablesControls$ = observablesFields$.pipe(\n mergeMap( \n x => x.map( y => \n y.ctrl.valueChanges.pipe( \n combineLatest( of(y) , (v1,v2)=>({fld:v2.name, val:v1, locs:v2.locs }) )\n ))),\n mergeMap(x => from(x)) \n ); \n \n // тригер первичная загрузка вторичных данных из темплэйта\n this.dispPrimaryRequestForeignData$ = this.store.select(fromSelectors.selCurMacroParentFieldsWithLocs()).pipe(\n filter(x => Object.keys(x).length>0),\n map( (x:{[key:string]:string[]}) => Object.keys(x).map( i => x[i] ) ), // [loc1,loc2,...][]\n map( x => x.reduce( (a,i) => [...a, ...i] ,[] ).filter( (e,i,a) => i === a.indexOf(e) ) ),\n mergeMap((x:string[]) => from(x) ),\n mergeMap( x => this.store.select( fromSelectors.selectResolvedLocFromTemplate(x))), \n mergeMap( x => this.store.select( fromSelectors.selectPartLocationIfNotExist(x))),\n filter(x=>!!x)\n ).pipe( \n mergeMap( x => this.store.select( fromSelectors.selectIsExistByLoc(x) ).pipe( map(y=>({l:x,isexist:y}) ) )),\n distinctUntilChanged( ),\n filter(x => !!x.l && x.isexist),\n map(x => x.l )\n ) \n\n // ресолвим локашин и фильтруем тока новые... почему мультиплекс не понял ? \n this.dispChangeRequestForeignData$ = observablesControls$.pipe(\n map( x => x.locs),\n mergeMap((x:string[]) => from(x) ),\n mergeMap( x => this.store.select( fromSelectors.selectResolvedLoc(x))), \n mergeMap( x => this.store.select( fromSelectors.selectPartLocationIfNotExist(x))),\n //tap(x=> console.log(x)),\n distinctUntilChanged( ),\n filter(x=>!!x),\n ) \n } \n\n buildSubscriptions(){\n // при любых изменениях пашим ровсид в стор \n this.subscriptions.push(\n this.controls$\n .pipe( mergeMap(x => x.formGroup.valueChanges))\n .subscribe( x=> this.store.dispatch(new ExecCurrent( new ChangeRowSeed(x) ) )) ///new SetRowSeed(x)\n );\n\n // \n this.subscriptions.push( \n this.dispPrimaryRequestForeignData$.subscribe(\n x=> this.store.dispatch(new PartLoadByLoc( x ) ) \n ) \n );\n\n // если требуются не подгруженные вторичны данные диспатчим частичную загрузку\n this.subscriptions.push( \n this.dispChangeRequestForeignData$.subscribe(\n x=> this.store.dispatch(new PartLoadByLoc( x ) ) \n ) \n );\n } \n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n\n // ---------------------\n onSubmit() {\n //по дурацки пока...\n this.store.select(fromSelectors.selCurRowSeed()).subscribe( \n x => this.store.dispatch(new ExecCurrent( new AddItem(x) ))\n ).unsubscribe();\n \n }\n\n} \n\n\n\n\n \n\n //this.store.dispatch( new ExecCurrent( new GetTemplate() ) );\n //this.subscriptions.push( \n // this.store.select( fromSelectors.selCurMacroParentFieldsWithLocs()).subscribe(x=>console.log(x)) \n //);\n\n // Итак надо получить контролы которые должны менять РАБОЧИЙ СТРИМ !!!! \n // const observablesControls$ = this.controls$.pipe(\n // map(x => x.formGroup),\n // //filter( x => !!x && x.status == FG_VALID_STATE ),\n // combineLatest( this.store.select( fromSelectors.selCurMacroParentFields()),(x1,x2)=> x2.map( x => x1.get(x) ).filter(z=>!!z)),\n // tap(x=>console.log(x)),\n // mergeMap( x => x.map( y => y.valueChanges) ),\n // mergeAll(),\n // );\n\n\n /**\n * Dispatching request get new row template\n */\n // freshRowTemplate(){\n // return this.store.select( fromSelectors.selCurName() ).pipe(take(1))\n // .subscribe(\n // x => { \n // console.log(\"fresh temptate disp\");\n // this.store.dispatch( new Exec( {name: x , itemAction: new GetTemplate() }) ) \n // }\n // )\n // }\n\n\n//}\n// const observablesControls$ = this.controls$.pipe(\n // map(x => Object.keys(x.formGroup.controls).map(y=> x.formGroup.get(y)) ),\n // mergeMap(x => x.map(y => y.valueChanges) ),\n // mergeAll(),\n // ) \n //this.subscriptions.push(observablesControls$.subscribe(x => console.log(x) ) ) ;\n //this.subscriptions.push(observablesControls$.subscribe( x=>x.subscribe( x=> console.log(x)))); \n \n \n // const observablesControls$ = this.controls$.pipe(\n // combineLatest( this.store.select( fromSelectors.selCurMacroParentFields()),(x1,x2)=> x2.map( x => x1.formGroup.get(x) )),\n // //flatMap( x => x.map( y => y.valueChanges) ),\n // //flatMap( x => of(x) ),\n \n // //combineAll(),\n // //merge()\n // );\n\n // const observablesControls$ = this.controls$.pipe(\n // tap(x=>x.formGroup.valueChanges.subscribe( x=> console.log(x)))\n // );\n\n\n //this.subscriptions.push(observablesControls$.subscribe( x=>x.subscribe( x=> console.log(x)))); \n\n\n //this.subscriptions.push(this.store.select( fromSelectors.selCurMacroParentFields()).subscribe( x=>console.log(x))); \n\n // // это набор контролов изменения которых требуют перестройки как минимум опшинов дроп-даунов.\n // const observablesControls$ = \n // this.controls$.pipe(\n // combineLatest( this.store.select( fromSelectors.selCurMacroParentFields()), (x1,x2) => ({ fGroup:x1.formGroup, flds: x2 })) ,\n // map( x => x.flds.map( itm => x.fGroup.get(itm) )),\n // );\n\n // observablesControls$.subscribe( x=>console.log(x) ); \n \n // observablesControls$.pipe(\n // tap(x => console.log(x) ),\n // map( x => x.map( i => i.valueChanges.subscribe( x=> console.log(x)) ) )\n // ) \n\n\n \n\n\n //this.controls$.subscribe( x => console.log(x) ) ;\n // .pipe(\n // filter( x => x.questions.length > 0 ),take(1)\n // );\n\n\n //this.subscriptions.push(this.freshRowTemplate()); //Вот это разовая подписка ее впрынцыпе не надо держать, но я по другому не умею.\n \n\n // // это набор контролов изменения которых требуют перестройки как минимум опшинов дроп-даунов.\n // const observablesControls$ = \n // this.controls$.pipe(\n // combineLatest( this.store.select( fromSelectors.selCurMacroParentFields()), (x1,x2) => ({ fGroup:x1.formGroup, flds: x2 })) ,\n // map( x => x.flds.map( itm => x.fGroup.get(itm) )),\n // )\n\n \n // observablesControls$.pipe(\n // map( x => x.map( i => i.valueChanges.subscribe( x=> console.log(x)) ) )\n //) \n\n // const ctrlChnge = (ctrls:AbstractControl[]) => {\n // while(this.ctrlChangesSubscr.length > 0){\n // this.ctrlChangesSubscr.pop().unsubscribe(); \n // } \n // ctrls.forEach( x => \n // this.ctrlChangesSubscr.push( \n // x.valueChanges.pipe( \n // map(x => x), \n // )\n // )\n // );\n // }\n \n\n\n //this.subscriptions.push( observablesControls$.subscribe(x=> console.log(x)) ); \n\n // // this.store.select( fromSelectors.selectDataOptions(\"JgMockTable\")).subscribe(x => console.log(x) );\n // //this.store.select( fromSelectors.selectData(\"JgMockTable\")).subscribe(x => console.log(x) );\n // //this.store.select( fromSelectors.selectDataMetadata(\"JgMockTable\")).subscribe(x => console.log(x) );\n // // this.store.select( fromSelectors.selectDataMetadata(\"JgMockTable\")).subscribe(x => console.log(x) );\n // //this.store.select(fromSelectors.selectFormGroup(\"JgMockTable\",of({}))).subscribe( x=> console.log(x) )\n\n // //this.store.select( fromSelectors.selectQuestions(\"JgMockTable\", of({}))).subscribe( x=> console.log(x) ); \n // this.store.select( fromSelectors.selectFormGroup(\"JgMockTable\",of({}))).subscribe( x=> console.log(x) ); \n \n\n // this.questions$ = this.store.select( fromSelectors.selectQuestions(\"JgMockTable\", of({}))) ; //.subscribe( x=> this.quest = x ); \n // //this.store.select( fromSelectors.selectFormGroup(\"JgMockTable\",of({}))).subscribe( x=> this.form = x ); \n // // this.store.select(fromSelectors.selectFormGroup(\"JgMockTable\",of({}))).subscribe( x=> console.log(x) )\n\n // //this.questions$.subscribe( x=> this.form = toFormGroup(x,) );\n\n // //this.questions$.subscribe(x => console.log(x) );\n\n // this.form$ = this.store.select( fromSelectors.selectFormGroup(\"JgMockTable\",of({})));\n\n // this.userForm = new FormGroup({\n // name: new FormControl(),\n // age: new FormControl('20')\n // }); \n\n // console.log(this.userForm );\n //}\n\n //this.subscriptions.push(\n // this.controls$.subscribe(x=> console.log(x));//); \n\n // const observablesControls$ = \n // this.store.select( fromSelectors.selCurMacroParentFields()).pipe(\n // //take(1),\n // combineLatest(this.controls$, ( f,c ) => ({ fields:f, fGroup: c.formGroup }) ),\n // tap(x=> console.log(x.fGroup.get()) ),\n // map( x => x.fields.map( itm => x.fGroup.get(itm) ))\n // ); \n\n //observablesControls$.subscribe(x=> console.log(x)); \n\n\n //this.store.select( fromSelectors.selCurFieldDescribes()).subscribe( x => console.log(x) );\n\n // this.store.select( fromSelectors.selCurMacroParentFields()).pipe(take(1))\n // .subscribe( x =>\n // x.forEach( i => this.subscriptions.push( \n // frm.get(i).valueChanges\n // )\n // );\n \n\n // const formChangeSubscribeTarget = ( frm:FormGroup, flds:string[] ) => \n // flds\n // .forEach(\n // i => this.subscriptions.push( \n // frm.get(i).valueChanges\n // //.do( x=> console.log(x) )\n // .map( x => { var r = this.form.value ; r[i] = x; return r; } ) // на этот момент валью группы не обновлено - вручную тыкаем значение\n // //.do( x=> console.log(x) )\n // .subscribe( x => this.rowSeed$.next( x ) )\n // ) \n // );\n\n\n\n //this.rowTemplate$ = this.store.select( fromSelectors.selectTemplate(\"JgMockTable\")); \n //this.rowTemplate$.subscribe(x=>console.log(x));\n //this.controls$.subscribe(x=> console.log(x));\n\n // this.controls$.subscribe(\n // x=> x.formGroup.valueChanges.subscribe( x=> console.log(x))\n // )\n // interval(1000).subscribe( \n // x => this.store.dispatch( new Jab())\n // );\n // this.store.select( fromSelectors.selCurJab()).subscribe(x=> console.log(x)); \n\n // this.store.select( fromSelectors.selCurName()).subscribe(\n // x => interval(1000).subscribe( \n // y => this.store.dispatch( new Exec( {name: x , itemAction: new Jab() }))\n // )); \n\n","module.exports = \".jg-busy-bar {\\r\\n height:100%; \\r\\n font-size: 10px;\\r\\n overflow: hidden;\\r\\n /* z-index: 4; */\\r\\n} \\r\\n\\r\\n.jg-busy-bar-cnt{\\r\\n transition: height 0.9s ease-in-out;\\r\\n overflow: hidden;\\r\\n height: 0;\\r\\n\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0; \\r\\n z-index: 4; \\r\\n} \\r\\n\\r\\n.flex-spacer{\\r\\n flex-grow: 1;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tZXJyb3ItYmFyL2puLWVycm9yLWJhci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksbUNBQW1DO0lBQ25DLGdCQUFnQjtJQUNoQixTQUFTOztJQUVULGVBQWU7SUFDZixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixVQUFVO0FBQ2Q7O0FBR0E7SUFDSSxZQUFZO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvam4tZ2Fsb24vam4tZXJyb3ItYmFyL2puLWVycm9yLWJhci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmpnLWJ1c3ktYmFyIHtcclxuICAgIGhlaWdodDoxMDAlOyBcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvKiB6LWluZGV4OiA0OyAqL1xyXG59ICAgIFxyXG5cclxuLmpnLWJ1c3ktYmFyLWNudHtcclxuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjlzIGVhc2UtaW4tb3V0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGhlaWdodDogMDtcclxuXHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7IFxyXG4gICAgei1pbmRleDogNDsgIFxyXG59ICAgXHJcblxyXG5cclxuLmZsZXgtc3BhY2Vye1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG59Il19 */\"","module.exports = \"
\\n \\n
\\n
\\n

{{ (errorMessage$ | async) }}

\\n
\\n \\n
\\n
\"","import { Component, OnInit, ViewChild} from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { map, tap, mergeMap, delay } from 'rxjs/operators';\nimport { buildParsedError, appErrorToShortSys } from 'app/shared/services/error-handler.service';\n\n\n@Component({\n selector: 'app-jn-error-bar',\n templateUrl: './jn-error-bar.component.html',\n styleUrls: ['./jn-error-bar.component.css']\n})\nexport class JnErrorBarComponent implements OnInit {\n\n @ViewChild('erbar') bar;\n\n public errorAllEntity$ : Observable<{}[]>; \n public errorMessage$ : Observable; \n public errorWithDelay$ : Observable; \n \n constructor(private store: Store, ) { }\n\n ngOnInit() {\n\n this.errorAllEntity$ = this.store.select( fromSelectors.selEntitiesErrors() ).pipe( ) ;\n\n this.errorWithDelay$ = this.errorAllEntity$.pipe( \n mergeMap( x => x&&x.length ? of(x) : of(x).pipe(delay(5000)) )\n )\n\n this.errorMessage$ = this.errorWithDelay$.pipe(\n //tap( x => console.log(x) ),\n map( x => x.map( j => buildParsedError(j) )), //new ErrorParsed(j))),\n //tap( x => console.log(x) ),\n map( x => x.length > 0 ? \"[\" + x.length.toString() +\"] \"+ appErrorToShortSys( x[x.length-1]) :\"\" )/// + x[x.length-1].parsedError.caption +\" \"+x[x.length-1].parsedError.description : \"\" ) \n )\n\n this.errorWithDelay$.pipe( \n map( x => x&&x.length ? 20 : 0 )\n )\n .subscribe( x=> this.updateHeight(x) ) ;\n }\n\n updateHeight(hgt:number) {\n const el = this.bar.nativeElement;\n el.style.height = ''+hgt+'px'\n }\n\n}\n","module.exports = \".my-det\\r\\n{\\r\\n display: inline-flex;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.my-ico\\r\\n{\\r\\n padding-right: 20px;\\r\\n font-size: 48px;\\r\\n height: 48px;\\r\\n width: 48px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4taW5mby1ib3gvam4taW5mby1ib3gtZGlhbG9nLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0lBRUksb0JBQW9CO0lBQ3BCLHNCQUFzQjtBQUMxQjs7QUFFQTs7SUFFSSxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLFlBQVk7SUFDWixXQUFXO0FBQ2YiLCJmaWxlIjoic3JjL2FwcC9qbi1nYWxvbi9qbi1pbmZvLWJveC9qbi1pbmZvLWJveC1kaWFsb2cuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5teS1kZXRcclxue1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXktaWNvXHJcbntcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICB3aWR0aDogNDhweDtcclxufSJdfQ== */\"","module.exports = \"\\r\\n

{{data.Name}}

\\r\\n\\r\\n
\\r\\n {{data.IconName}} \\r\\n
\\r\\n

\\r\\n {{data.Message}} \\r\\n

\\r\\n
\\r\\n
\\r\\n

\\r\\n\\r\\n \\r\\n \\r\\n Подробнее...\\r\\n \\r\\n \\r\\n
\\r\\n {{ item }}\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".icon-disp {\\r\\n font-size: 12px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4taW5mby1ib3gvam4taW5mby1ib3guY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9qbi1nYWxvbi9qbi1pbmZvLWJveC9qbi1pbmZvLWJveC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmljb24tZGlzcCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn0iXX0= */\"","module.exports = \" highlight_off \\n\"","import { Component, OnInit, Inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable, of, from, ReplaySubject, Subscription } from 'rxjs';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport * as fromStore from '@appStore/index';\nimport { map, filter, tap , merge, mergeMap, distinct, delay } from 'rxjs/operators';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { BackICommonError } from '@appModels/any-entity';\nimport { ExecCurrent, ExecItemAction } from '@appStore/actions/any-entity-set.actions';\nimport { ErrorAnyEntityReset } from '@appStore/actions/any-entity.actions';\nimport { ErrorEnvironment, ErrorEnvironmentReset } from '@appStore/actions/environment.actions';\nimport { buildParsedError, appErrorToDialogData } from 'app/shared/services/error-handler.service';\nimport { IDialogBoxData } from 'app/shared/app-common';\n\n\n// export interface DialogData {\n// animal: string;\n// name: string;\n// }\n\n@Component({\n selector: 'app-jn-info-box',\n templateUrl: './jn-info-box.component.html',\n styleUrls: ['./jn-info-box.component.css']\n})\n\nexport class JnInfoBoxComponent implements OnInit {\n\n //public errorEntity$ : Observable; /// del candidate\n public errorEnvironment$ : Observable; \n public errorAllEntity$ : Observable; \n \n private subscriptions:Subscription[] = [];\n \n constructor(private store: Store, public dialog: MatDialog){\n \n }\n\n ngOnInit() {\n \n //this.errorEntity$ = this.store.select( fromSelectors.selCurError() ).pipe( filter( x => !!x) ) ; \n this.errorEnvironment$ = this.store.select( fromSelectors.selEnvError).pipe( \n filter( x => !!x),\n delay(100),\n // tap(x=>console.log(x))\n ) ;\n\n // this.errorAllEntity$ = this.store.select( fromSelectors.selEntitiesErrors() ).pipe(\n // filter( x => x && x.length > 0 ),\n // mergeMap(x => from(x) ),\n // distinct( x => x.error.Id ) \n // ); \n\n\n // this.subscriptions.push( \n // this.errorEntity$.subscribe(x=>this.onErrorDialog(x, new ExecCurrent( new ErrorAnyEntityReset() ))) \n // ); \n this.subscriptions.push( \n this.errorEnvironment$.subscribe ( x => this.onErrorDialog( x , new ErrorEnvironmentReset()))\n ); \n \n // this.subscriptions.push(\n // this.errorAllEntity$.subscribe(x=>\n // this.onErrorDialog(\n // x.error, \n // new ExecItemAction( { itemOption: x.opt, itemAction: new ErrorAnyEntityReset() } )\n // )\n // )\n // ); \n\n }\n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n\n onErrorDialog(error, resetDispatch ){ //:BackICommonError\n\n const prepErrM = (e) => (e.hasOwnProperty('Message') && e['Message']) ? e : ({...e , ...{ Message: e.toString() }}); \n const prepErrN = (e) => (e.hasOwnProperty('Name') && e['Name']) ? e : ({...e , ...{ Name: 'Неизвестная Ошибка' }}); \n const prepErr = (e) => e.hasOwnProperty('data') \n ? e \n : typeof e === 'string'\n ? ({ Message: e, Name: 'Ошибка' }) \n : prepErrM( prepErrN(e) );\n\n const dialogDataDeteailsToArray: (x:IDialogBoxData) => IDialogBoxData = (x) => x.Details && Array.isArray(x.Details) ? x : ({ ...x , Details: ( x.Details ? [x.Details] : [] ) }) ;\n \n\n const dialogRef = this.dialog.open(JnInfoBoxDialogComponent, {\n //height: '400px',\n width: '600px',\n //data: prepErr(error)\n //data: new ErrorParsed(error).toDialogData()\n data: dialogDataDeteailsToArray( appErrorToDialogData( buildParsedError(error))) \n });\n //console.log(appErrorToDialogData( buildParsedError(error) ) );\n //console.log( prepErr(error) );\n dialogRef.afterClosed().subscribe(result => {\n console.log(result);\n resetDispatch && !!result ? this.store.dispatch( resetDispatch ) : null ;\n //this.store.dispatch( new ExecCurrent( new ErrorAnyEntityReset() ) );\n\n });\n\n }\n}\n\n\n@Component({\n selector: 'app-jn-info-box-dialog',\n templateUrl: './jn-info-box-dialog.component.html',\n styleUrls: ['./jn-info-box-dialog.component.css']\n})\nexport class JnInfoBoxDialogComponent {\n\n constructor(\n private store: Store,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: BackICommonError) {}\n\n onNoClick(): void {\n //console.log('dddddddddddddddd');\n //this.store.dispatch( new ExecCurrent( new ErrorAnyEntityReset() ) );\n this.dialogRef.close( true );\n }\n\n}","module.exports = \".jn-scard{\\r\\n max-width: 800px;\\r\\n margin: 10px;\\r\\n margin-left: auto;\\r\\n margin-right: auto; \\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tbmFtZXBsYXRlLWNhcmQvam4tbmFtZXBsYXRlLWNhcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLW5hbWVwbGF0ZS1jYXJkL2puLW5hbWVwbGF0ZS1jYXJkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuam4tc2NhcmR7XHJcbiAgICBtYXgtd2lkdGg6ICA4MDBweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAgXHJcbn0iXX0= */\"","module.exports = \"\\n \\n
\\n \\n
\\n {{Caption}}\\n {{Description}} \\n
\\n
\"","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-jn-nameplate-card',\n templateUrl: './jn-nameplate-card.component.html',\n styleUrls: ['./jn-nameplate-card.component.css']\n})\nexport class JnNameplateCardComponent implements OnInit {\n\n @Input() Caption: string;\n @Input() Description: string;\n @Input() IconName: string;\n @Input() RouterLink: string;\n\n constructor() { }\n\n ngOnInit() {\n //console.log(this.Caption);\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLW5vdC1mb3VuZC9qbi1ub3QtZm91bmQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\n \\n Страница не найдена\\n 404 Page not found !\\n \\n \\n

\\n 404 Page not found !\\n

\\n
\\n \\n \\n \\n
\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-jn-not-found',\n templateUrl: './jn-not-found.component.html',\n styleUrls: ['./jn-not-found.component.css']\n})\nexport class JnNotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \".jg-nav{\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0; \\r\\n z-index: 2; \\r\\n}\\r\\n\\r\\n.jg-i-header {\\r\\n height:18px;\\r\\n font-size: 10px;\\r\\n /* z-index: 4; */\\r\\n}\\r\\n\\r\\n.flex-spacer{\\r\\n flex-grow: 1;\\r\\n}\\r\\n\\r\\n.jn-content-col{\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex: 1;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.jn-content{\\r\\n height: 100%;\\r\\n overflow: auto ;\\r\\n }\\r\\n\\r\\n.jn-content-p{\\r\\n padding:10px; \\r\\n}\\r\\n\\r\\n.icon-title {\\r\\n height: 48px;\\r\\n width: 48px;\\r\\n}\\r\\n\\r\\n.jg-footer-copyright{\\r\\n display: flex;\\r\\n flex: 1;\\r\\n justify-content: flex-end;\\r\\n flex-direction: column;\\r\\n min-width: 150px;\\r\\n text-align: center;\\r\\n padding: 0;\\r\\n line-height: 14px;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.jg-smal-img{\\r\\n vertical-align:middle;\\r\\n width: 12px;\\r\\n height:12px;\\r\\n}\\r\\n\\r\\nfooter{\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.jg-fill-spacer {\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n.example-header-image {\\r\\n /* background-image: url('https://material.angular.io/assets/img/examples/shiba1.jpg'); */\\r\\n background-size: cover;\\r\\n height: 24px;\\r\\n width: 24px;\\r\\n }\\r\\n\\r\\n.icon-title-auth1 {\\r\\n height:42px;\\r\\n width: 42px;\\r\\n}\\r\\n\\r\\n.icon-title-auth2 {\\r\\n padding-left: 3px;\\r\\n margin-top: -15px;\\r\\n padding-right: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tZ2Fsb24vam4tcm9vdC1wYWdlL2puLXJvb3QtcGFnZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksZUFBZTtJQUNmLE1BQU07SUFDTixPQUFPO0lBQ1AsUUFBUTtJQUNSLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFHQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsT0FBTztJQUNQLFlBQVk7SUFDWixZQUFZO0lBQ1osU0FBUztBQUNiOztBQUVDO0lBQ0csWUFBWTtHQUNiLGVBQWU7Q0FDakI7O0FBRUQ7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixPQUFPO0lBQ1AseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsZUFBZTtBQUNuQjs7QUFHQTtJQUNJLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsV0FBVztBQUNmOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLHlGQUF5RjtJQUN6RixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLFdBQVc7RUFDYjs7QUFHRjtJQUNJLFdBQVc7SUFDWCxXQUFXO0FBQ2Y7O0FBQ0E7SUFDSSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtBQUN2QiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLXJvb3QtcGFnZS9qbi1yb290LXBhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5qZy1uYXZ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7IFxyXG4gICAgei1pbmRleDogMjsgIFxyXG59XHJcblxyXG4uamctaS1oZWFkZXIge1xyXG4gICAgaGVpZ2h0OjE4cHg7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAvKiB6LWluZGV4OiA0OyAqL1xyXG59ICAgIFxyXG5cclxuLmZsZXgtc3BhY2Vye1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG59XHJcblxyXG5cclxuLmpuLWNvbnRlbnQtY29se1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6ICAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4gLmpuLWNvbnRlbnR7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgIG92ZXJmbG93OiBhdXRvIDtcclxuIH0gXHJcblxyXG4uam4tY29udGVudC1we1xyXG4gICAgcGFkZGluZzoxMHB4OyAgXHJcbn1cclxuXHJcbi5pY29uLXRpdGxlIHtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIHdpZHRoOiA0OHB4O1xyXG59XHJcblxyXG4uamctZm9vdGVyLWNvcHlyaWdodHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG5cclxuLmpnLXNtYWwtaW1ne1xyXG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBoZWlnaHQ6MTJweDtcclxufVxyXG5cclxuZm9vdGVye1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmpnLWZpbGwtc3BhY2VyIHtcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG59XHJcblxyXG4uZXhhbXBsZS1oZWFkZXItaW1hZ2Uge1xyXG4gICAgLyogYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vYXNzZXRzL2ltZy9leGFtcGxlcy9zaGliYTEuanBnJyk7ICovXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgfVxyXG5cclxuXHJcbi5pY29uLXRpdGxlLWF1dGgxIHtcclxuICAgIGhlaWdodDo0MnB4O1xyXG4gICAgd2lkdGg6IDQycHg7XHJcbn1cclxuLmljb24tdGl0bGUtYXV0aDIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcbiJdfQ== */\"","module.exports = \"\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n\\n
\\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport * as fromSelectors from '@appStore/selectors/index';\nimport * as fromStore from '@appStore/index';\nimport { Observable, of } from 'rxjs';\nimport { map, startWith, tap, takeLast, take } from 'rxjs/operators';\nimport { last } from '@angular/router/src/utils/collection';\nimport { AuthStart, AuthLogout, ErrorEnvironment } from '@appStore/actions/environment.actions';\nimport { TAG_NVA, TAG_GOOGLE } from 'app/shared/services/auth.service';\n\n\nconst SUB_SOURCE_PARAM_DATA_KEY = 'ServiceLocation';\n\nconst MY_TAG_GOOGLE = TAG_GOOGLE;\n\n@Component({\n selector: 'app-jn-root-page',\n templateUrl: './jn-root-page.component.html',\n styleUrls: ['./jn-root-page.component.css']\n})\nexport class JnRootPageComponent implements OnInit {\n\n public subCaption$ : Observable; \n public spiner$ : Observable; \n public isAuthButCaption$ : Observable; \n public isAuth$ : Observable; \n\n public loginName$ : Observable; \n public loginPicUri$ : Observable; \n\n constructor(private store: Store\n ) {\n \n }\n\n ngOnInit() {\n this.subCaption$ = this.store.select( fromSelectors.selCurItemMetaNote() ); \n this.spiner$ = this.store.select( fromSelectors.selIsBuzy() ).pipe( map(x => !x) );\n this.isAuthButCaption$ = this.store.select( fromSelectors.selEnvIsAuthed ).pipe( startWith(false), map( x => !x?'Войти':'Выйти') );\n this.isAuth$ = this.store.select( fromSelectors.selEnvIsAuthed ).pipe( startWith(false) );\n\n this.loginName$ = this.store.select(fromSelectors.selEnvAuthHeaderName );\n this.loginPicUri$ = this.store.select(fromSelectors.selEnvAuthHeaderPicUri );\n \n // this.store.select( \n // fromSelectors.selEnvAuthHeaderName \n // ).subscribe(x=>console.log(x));\n \n // this.store.select( \n // fromSelectors.selEnvAuthHeaderBody \n // ).subscribe(x=>console.log(x));\n\n // this.store.select( \n // fromSelectors.selEnvAuthHeaderPicUri \n // ).subscribe(x=>console.log(x));\n\n \n //this.store.select( fromSelectors.selectErrors()).subscribe(x=>console.log(x));\n }\n\n public Login(serviceId:string = TAG_NVA ) {\n //of(serviceId).pipe(tap(console.log)).subscribe(x=>undefined);\n this.store.select( fromSelectors.selEnvIsAuthed ).pipe(\n take(1),\n //tap(x => console.log(serviceId))\n ).subscribe( \n x=>!x \n ? this.store.dispatch( new AuthStart( { fromError:null, fromSource:\"login button\", tag:serviceId })) \n : this.store.dispatch( new AuthLogout( ) )\n );\n \n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2puLWdhbG9uL2puLXJvb3Qvam4tcm9vdC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n \\n \\n \\n \\n \\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"","/** / \\/ |( / |/ /_\\ \n* \\/\\/\\_\\/\\/\\_\\__/\n* 280418-220518 Presentation entity root compnent\n*/\n\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Store} from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport * as fromStore from '@appStore/index';\n\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { tap, map } from 'rxjs/operators';\nimport { Exec, AddItem, SetCurrent, PrepareByLoc } from '@appStore/actions/any-entity-set.actions';\nimport { anyEntityOptions, AnyEntityId, AnyEntity } from '@appModels/any-entity';\nimport { GetItemsMeta, GetItemsPart } from '@appStore/actions/any-entity.actions';\n\n\n\nconst MODULE_NAME = 'John Galon';\nconst COMPONENT_NAME = 'Root';\nconst log = (msg:any) => ( console.log(\"[\"+MODULE_NAME+\"]\"+\"[\"+COMPONENT_NAME+\"] \" + msg ) );\n\nconst OPTION_PARAM_DATA_KEY = 'option';\n\n@Component({\n selector: 'app-jn-root',\n templateUrl: './jn-root.component.html',\n styleUrls: ['./jn-root.component.css']\n})\n\nexport class JnRootComponent implements OnInit , OnDestroy {\n\n private subscr:Subscription;\n //private db:Db ;\n //db:Db ;\n\n constructor(\n private route: ActivatedRoute,\n private store: Store\n ){\n\n //this.store.dispatch( new PrepareByLoc( '/Ax/NvaSdEventType?SERVICEDESCID=1')); // Debug\n \n //this.store.dispatch( new Exec( {name:'NvaSdEventType' , itemAction: new GetItemsPart('/Ax/NvaSdEventType?SERVICEDESCID=1') }) ); // Debug\n //console.log('3333333333333333333333333');\n //this.store.select( fromSelectors.selectDatas ).subscribe(x=>console.log(x))\n\n //this.route.data.subscribe( x => console.log(x.isLoad ) );\n \n //this.store.select( fromSelectors.selectIsMetaLoaded()).subscribe(x=>console.log(x))\n\n // route.data.pipe(\n // map(x => x.option )\n // ).subscribe(x=>console.log(x.name));\n\n // route.data.pipe(\n // map(x => x[OPTION_PARAM_DATA_KEY] )\n // ).subscribe(\n // (x:anyEntityOptions) => {\n // store.dispatch( new AddItem(x) );\n // store.dispatch( new SetCurrent(x.name) );\n // store.dispatch( new Exec( {name:x.name , itemAction: new GetItemsMeta() }) )\n // }\n // ) \n\n\n // const NvaSdEventTypeOption:anyEntityOptions = {\n // name: \"JgMockTable\", \n // location:\"/NvaSd2/JgMockTable\", \n // selectId: (x) => x.id,\n // selBack: (x:string) => (\"?ID=\" + x )\n // };\n \n // store.dispatch( new AddItem( NvaSdEventTypeOption) )\n // store.dispatch( new Exec( {name:\"JgMockTable\" , itemAction: new GetItemsMeta() }) )\n }\n\n onClickMe() {\n //this.store.dispatch( new JnChangeSource('/NvaSd2/NvaSdIncoming' ) );\n } \n\n ngOnInit() {\n //this.store.subscribe(x=>console.log(x));\n }\n\n ngOnDestroy(){\n //this.subscr.unsubscribe();\n }\n\n}\n","module.exports = \"\\r\\n.jn-scard{\\r\\n max-width: 800px;\\r\\n margin: 10px;\\r\\n margin-left: auto;\\r\\n margin-right: auto; \\r\\n}\\r\\n\\r\\n.jnp-info-main {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.icon-disp {\\r\\n font-size: 40px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4taXNwb2xpbi9qbi1wb2xpbi1mbGlnaHQvam5wLWZsaWdodC1pdGVtL2pucC1mbGlnaHQtaXRlbS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtJQUNJLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQiIsImZpbGUiOiJzcmMvYXBwL2puLWlzcG9saW4vam4tcG9saW4tZmxpZ2h0L2pucC1mbGlnaHQtaXRlbS9qbnAtZmxpZ2h0LWl0ZW0uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uam4tc2NhcmR7XHJcbiAgICBtYXgtd2lkdGg6ICA4MDBweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAgXHJcbn1cclxuXHJcbi5qbnAtaW5mby1tYWluIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59ICBcclxuXHJcbi5pY29uLWRpc3Age1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG59Il19 */\"","module.exports = \" \\n \\n \\n \\n \\n\\n
\\n \\n \\n \\n
\\n flight_land\\n \\n flight_takeoff\\n \\n \\n \\n \\n
\\n \\n \\n {{data.Company +' '+ data.Flight }} \\n {{data.Dest }}\\n
\\n \\n \\n \\n\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n\\n
\\n\\n\\n \\n \\n \\n\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { FlightFidsOption, NvaOmaCustLogo } from '@appModels/entity-options';\nimport { Store } from '@ngrx/store';\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { Observable, of, BehaviorSubject, timer, Subscription } from 'rxjs';\nimport { EntityProvService } from 'app/shared/services/entity-prov.service';\nimport { AnyEntityId } from '@appModels/any-entity';\nimport { filter, map, merge, tap, delay, mergeMap } from 'rxjs/operators';\nimport { SafeUrl, DomSanitizer } from '@angular/platform-browser';\n\nconst LOGO_IMAGE_FIELD = 'IMAGEB64';\n\n@Component({\n selector: 'app-jnp-flight-item',\n templateUrl: './jnp-flight-item.component.html',\n styleUrls: ['./jnp-flight-item.component.css']\n})\n\n\n\nexport class JnpFlightItemComponent implements OnInit {\n\n @Input() flightId: any;\n\n private subscriptions: Subscription[] = [];\n\n private dataSubj = new BehaviorSubject(undefined);\n public dataSubj$ = this.dataSubj.asObservable(); \n\n private imgSubj = new BehaviorSubject(undefined);\n public imgSubj$ = this.imgSubj.asObservable(); \n\n\n constructor(private entityProv: EntityProvService, private store: Store,private sanitizer : DomSanitizer) { }\n\n ngOnInit() {\n const data$ = this.entityProv.itemData$( FlightFidsOption, this.flightId ).pipe( filter(x => !!x ), delay(100) ) ;\n\n this.subscriptions.push(\n data$.subscribe( x => this.dataSubj.next(x) )\n ); \n\n this.subscriptions.push(\n data$.pipe(\n mergeMap( x => this.entityProv.itemDataB64AsImg$(NvaOmaCustLogo , x.Company , (y) => y&&y[LOGO_IMAGE_FIELD]?y[LOGO_IMAGE_FIELD]:\"\") ),\n )\n .subscribe( (x:SafeUrl) => this.imgSubj.next( x ) )\n ); \n\n //this.imgSubj$.subscribe(x => console.log(x));\n \n }\n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n\n //NvaOmaCustLogo\n}\n","module.exports = \".jn-cnt-own{\\r\\n /* background-color: blue; */\\r\\n text-align: right;\\r\\n /* height: 300px; */\\r\\n}\\r\\n\\r\\n.jn-cnt-1{\\r\\n font-size: 14px;\\r\\n /* background-color: red; */\\r\\n}\\r\\n\\r\\n.icon-disp {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.jn-cnt-2{\\r\\n font-size: 24px;\\r\\n font-weight: 500;\\r\\n /* background-color: gainsboro; */\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4taXNwb2xpbi9qbnAtY21wLWJhci9qbnAtY21wLWJhci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksNEJBQTRCO0lBQzVCLGlCQUFpQjtJQUNqQixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsaUNBQWlDO0FBQ3JDIiwiZmlsZSI6InNyYy9hcHAvam4taXNwb2xpbi9qbnAtY21wLWJhci9qbnAtY21wLWJhci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmpuLWNudC1vd257XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyAqL1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAvKiBoZWlnaHQ6IDMwMHB4OyAgKi9cclxufVxyXG5cclxuLmpuLWNudC0xe1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogcmVkOyAqL1xyXG59XHJcblxyXG4uaWNvbi1kaXNwIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmpuLWNudC0ye1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IGdhaW5zYm9ybzsgKi9cclxufSJdfQ== */\"","module.exports = \"
\\n
\\n query_builder\\n {{jncap}}\\n
\\n
{{jnval}}
\\n
\\n\"","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-jnp-cmp-bar',\n templateUrl: './jnp-cmp-bar.component.html',\n styleUrls: ['./jnp-cmp-bar.component.css']\n})\nexport class JnpCmpBarComponent implements OnInit {\n\n @Input() jncap: string;\n @Input() jnval: string;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \".example-card-wide {\\r\\n max-width: 900px;\\r\\n margin: 10px;\\r\\n margin-left: auto;\\r\\n margin-right: auto; \\r\\n } \\r\\n.example-card-wide-small {\\r\\n max-width: 400px;\\r\\n margin: 10px;\\r\\n margin-left: auto;\\r\\n margin-right: auto; \\r\\n } \\r\\n.icon-disp {\\r\\n font-size: 40px;\\r\\n} \\r\\n.style-error {\\r\\n color:red;\\r\\n background-color:red;\\r\\n} \\r\\n.style-error .mat-simple-snackbar-action {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4tcmlza3Mvam4tcmlzay1leGFtL2puLXJpc2stZXhhbS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsa0JBQWtCO0VBQ3BCO0FBQ0Y7SUFDSSxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixrQkFBa0I7RUFDcEI7QUFDQTtJQUNFLGVBQWU7QUFDbkI7QUFFQTtFQUNFLFNBQVM7RUFDVCxvQkFBb0I7QUFDdEI7QUFFQTtFQUNFLFVBQVU7QUFDWiIsImZpbGUiOiJzcmMvYXBwL2puLXJpc2tzL2puLXJpc2stZXhhbS9qbi1yaXNrLWV4YW0uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWNhcmQtd2lkZSB7XHJcbiAgICBtYXgtd2lkdGg6ICA5MDBweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAgXHJcbiAgfSAgXHJcbi5leGFtcGxlLWNhcmQtd2lkZS1zbWFsbCB7XHJcbiAgICBtYXgtd2lkdGg6ICA0MDBweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAgXHJcbiAgfSAgXHJcbiAgLmljb24tZGlzcCB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbn1cclxuXHJcbi5zdHlsZS1lcnJvciB7XHJcbiAgY29sb3I6cmVkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6cmVkO1xyXG59XHJcblxyXG4uc3R5bGUtZXJyb3IgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcclxuICBjb2xvcjogcmVkO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\n \\n \\n\\n \\n \\n
\\n verified_user \\n
\\n Ваши данные успешно сохранены!\\n \\n \\n
\\n \\n

\\n

\\n Данные о полете {{ isComplete$.getValue().Date | date }} \\n по маршруту '{{ isComplete$.getValue().FlightRoute }}' \\n сохранены, под номером {{ isComplete$.getValue().ExamID }} . \\n

\\n {{ assessmentText$ | async }}\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n flight_takeoff \\n
\\n Оценка рисков\\n \\n Оценка и определение возможности вылета (принятия решения на вылет) предстоящего полета, по критериям СУБП \\n \\n
\\n\\n \\n \\n \\n\\n \\n {{lbl[\\\"data\\\"][\\\"NVA_OMA_FACTORSGROUP_NAME\\\"]}} \\n \\n\\n \\n {{lbl[\\\"data\\\"][\\\"NVA_OMA_FACTORSGROUP_NAME\\\"]}}\\n \\n\\n \\n \\n\\n \\n \\n {{ assessmentText$ | async }}\\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
\\n
\\n\\n \\n \\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { EntityProvService } from 'app/shared/services/entity-prov.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store,select } from '@ngrx/store';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { Observable, of, from, Subscription, Subject, BehaviorSubject } from 'rxjs';\nimport { RiskExamItemsOption, RiskFactorsGroupOption } from '@appModels/entity-options';\nimport { ErrorEnvironment } from '@appStore/actions/environment.actions';\nimport { Location } from '@angular/common';\nimport { take, tap, map, filter, mergeMap, combineLatest, toArray, skip, switchMap, skipUntil, distinctUntilChanged } from 'rxjs/operators';\nimport { ExecItemAction } from '@appStore/actions/any-entity-set.actions';\nimport { AddItem } from '@appStore/actions/any-entity.actions';\nimport { XSRF_HEADER_NAME } from '@angular/common/http/src/xsrf';\nimport { RiskCheckServiceService } from '../risk-check-service.service';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material';\n\nconst SB_STYLE_PREFIX = \"jg-snack-bar-\"\nconst STATUS_VALID = \"VALID\";\n\n\n@Component({\n selector: 'app-jn-risk-exam',\n templateUrl: './jn-risk-exam.component.html',\n styleUrls: ['./jn-risk-exam.component.css']\n})\n\nexport class JnRiskExamComponent implements OnInit {\n\n freeControls$: Observable;\n groupControls$: Observable< {data:object , model:boolean, ctrl:Observable}[] > ;\n assessmentStyle$: Observable;\n assessmentText$: Observable;\n valid$: BehaviorSubject;\n isComplete$: BehaviorSubject<{}>;\n //insertedData$: Observable<{}>;\n\n //isComplete$: Observable<{}>;\n\n\n withoutGroupFunc: (x:string) => Observable ;\n\n private subscriptions: Subscription[] = [];\n \n constructor(\n private entityProv: EntityProvService, \n private route: ActivatedRoute ,\n private store: Store ,\n private router: Router, \n private location: Location,\n private riskService: RiskCheckServiceService,\n private _snackBar: MatSnackBar\n ) { \n } \n\n ngOnInit() {\n if(!this.route.snapshot.data[\"isLoad\"] ){\n //console.log(\"форма!\");\n this.location.back();\n }\n else{\n this. initStreams();\n }\n } \n\n private initStreams(){\n\n //console.log(\"streams!\");\n this.valid$ = new BehaviorSubject(false);\n this.isComplete$ = new BehaviorSubject(null); \n\n // complete steram\n this.subscriptions.push( \n this.store.pipe( \n select( fromSelectors.selInsertedId(RiskExamItemsOption.name)), \n skip(1),\n distinctUntilChanged(),\n mergeMap( x => !x ? of(x): this.store.pipe( select( fromSelectors.selectDataRowIfExist(RiskExamItemsOption.name,x) ) )),\n //filter(x => !!x ),\n //tap((x) => console.log(x) )\n )\n .subscribe( (x) => this.isComplete$.next(x))\n ) \n\n //this.isComplete$.subscribe((x) => console.log(x) )\n // \n // this.insertedData$ = this.isComplete$.pipe(\n // filter(x => !!x ),\n // tap((x) => console.log(x) ), \n // //switchMap( x => this.store.pipe( select( fromSelectors.selectDataRowIfExist(RiskExamItemsOption.name,x) ) ))\n // )\n // this.insertedData$.subscribe( x => console.log(x));\n \n \n //Выбрать контролы не входящие в группы\n this.withoutGroupFunc = (fldName) => this.store.select(fromSelectors.selFieldDescribe(RiskExamItemsOption.name, fldName )).pipe(\n take(1),\n map( x => x && x.hasOwnProperty(\"group\") && !!x.group ? false: true ) \n ) ;\n //this.freeControls$ = this.entityProv.controlsForEntityDefTempl$(RiskExamItemsOption , this.withoutGroupFunc ).pipe(tap(x=>console.log(x))); \n \n this.freeControls$ = this.entityProv.controlsForEntityLoadTempl$(RiskExamItemsOption , this.withoutGroupFunc ).pipe(\n //tap((x) => console.log(x) ), \n tap((x) => x.subscribtions.forEach( i => this.subscriptions.push(i))), \n tap((x) => this.subscriptions.push(\n x.formGroup.statusChanges.subscribe( \n s => this.valid$.next( s == STATUS_VALID ) , // == STATUS_VALID ? true : false \n e => this.valid$.error(e) , \n () => this.valid$.complete\n ))) \n );\n\n this.groupControls$ = this.store.select(fromSelectors.selectDataItems(RiskFactorsGroupOption.name)).pipe( \n take(1),\n map( xs => xs.map( y => ({\n data:y, \n ctrl:this.entityProv.controlsForEntityDefTemplByGroup$(RiskExamItemsOption, y[\"RECID\"].toString() ) \n }))\n ),\n mergeMap( xs => from(xs).pipe(\n mergeMap( x => x.ctrl.pipe( combineLatest( of(x.data) , (a,b) => ({ data: b, ctrl:a }) ))),\n\n filter( x => x.ctrl.questions && x.ctrl.questions.length > 0 ) ,\n map( x => ({ data:x.data, model:! x.data[\"ISDISCONNECTABLE\"] , ctrl:of(x.ctrl) }) ),\n toArray()\n )) \n ); \n\n this.assessmentText$ = this.riskService.assessmentStream$.pipe( map( x => x['Sname'] ) ); // {{assessmentStyle$ | async}}\"\n this.assessmentStyle$ = this.riskService.assessmentStream$.pipe( map( x => x['Color'] ) );\n //this.valid$ = this.freeControls$.pipe( mergeMap( x => x[\"formGroup\"][\"statusChanges\"] ));\n //this.valid$ = this.freeControls$.pipe( tap( x => x.formGroup.get('family').valueChanges.subscribe( x => console.log(x));.valueChanges.subscribe( y => console.log(y) )));\n\n //this.valid$ = this.freeControls$.pipe( tap( x => x.formGroup.get('FlightRoute').valueChanges.subscribe( x => console.log(x))));\n\n this.subscriptions.push(\n this.riskService.assessmentStream$.pipe(\n skip(1)\n ).subscribe( x => this._snackBar.open(x['Name'], x['Sname'] +' ('+ x['Weight'] + ')' , { duration: 2000 ,panelClass :[ SB_STYLE_PREFIX + x['Color'] ] } ) )\n ); \n } \n\n ngAfterViewInit(){\n\n \n }\n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n\n Save() {\n this.entityProv.insertItemByRowSeed(RiskExamItemsOption).unsubscribe();\n } \n\n onAddNextMessageClick(){\n this.isComplete$.next(null)\n } \n\n}\n","import { Injectable } from '@angular/core';\nimport { Store, select } from '@ngrx/store';\nimport * as fromStore from '@appStore/index'\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { RiskAssessmentOption, RiskExamItemsOption, RiskFactorsOption } from '@appModels/entity-options';\nimport { distinctUntilChanged, filter, map, take, } from 'rxjs/operators';\nimport { combineLatest } from 'rxjs';\n\n\nconst VIRT_FIELD_PREFIX = \"RF_\";\nconst FIELD_ID = \"RECID\";\nconst FIELD_WEIGHT = \"WEIGHT\";\nconst FIELD_WEIGHTFROM = \"WEIGHTFROM\";\nconst FIELD_WEIGHTTO = \"WEIGHTTO\";\n\nconst FIELD_NAME = \"NAME\";\nconst FIELD_SNAME = \"SHORTNAME\";\nconst FIELD_COLOR = \"WEBCOLOR\";\n\n\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class RiskCheckServiceService {\n constructor(private store: Store) { \n }\n\n private compareRowSeed = ( x1:any, x2:any ) => \n Object.keys(x1)\n .filter( x => x.startsWith(VIRT_FIELD_PREFIX))\n .reduce( ( a, x ) => a && x1[x] == x2[x] , true ) ;\n\n private getSettedFieldId = (row:{})=>\n Object.keys(row)\n .filter( x => x.startsWith(VIRT_FIELD_PREFIX))\n .filter( x => !!row[x])\n\n private riskFactorsWeight$ = this.store.pipe( \n select( fromSelectors.selectDataItems(RiskFactorsOption.name)),\n filter( x => !!x ),\n map( (x:[]) => \n x.reduce( (a,y) => ({...a, [VIRT_FIELD_PREFIX + y[FIELD_ID]] : y[FIELD_WEIGHT] }) , ({}) )\n ),\n take(1)\n ) \n\n private riskExam$ = this.store.pipe( \n select( fromSelectors.selRowSeed(RiskExamItemsOption.name)),\n filter( x => !!x ),\n distinctUntilChanged(this.compareRowSeed),\n map(this.getSettedFieldId)\n ) \n\n private riskAssessmentS = this.store.pipe( \n select( fromSelectors.selectDataItems(RiskAssessmentOption.name)),\n filter( x => !!x ),\n take(1)\n ) \n\n private getAssessment = ( w:number , l:[] ) =>\n l.reduce( (a,x:{}) => !a && w >= x[FIELD_WEIGHTFROM] && w <= x[FIELD_WEIGHTTO] ? ({ Weight:w, Name: x[FIELD_NAME], Sname: x[FIELD_SNAME], Color:x[FIELD_COLOR] }) : a ,null )\n\n public assessmentStream$ = //this.riskFactorsWeight$\n combineLatest(this.riskExam$, this.riskFactorsWeight$,this.riskAssessmentS).pipe(\n map( (x:[[],{},[]]) => [ x[0].reduce( (a,v)=> a + x[1][v] ,0 ), x[2] ] ), //calc weight\n map( ( x:[number,[]]) => this.getAssessment( x[0],x[1]) ) // to Assessment obj\n )\n \n}\n","module.exports = \".example-card-wide {\\r\\n max-width: 800px;\\r\\n margin: 10px;\\r\\n margin-left: auto;\\r\\n margin-right: auto; \\r\\n padding:0 !important;\\r\\n } \\r\\n\\r\\n.mat-icon {\\r\\n font-size: 50px;\\r\\n } \\r\\n\\r\\n.jg-card-header-accent{\\r\\n padding:16px !important;\\r\\n } \\r\\n\\r\\n.example-card-content{\\r\\n padding:16px !important;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4td2ViLWNudC9qbi13ZWItY250LWl0ZW0vam4td2ViLWNudC1pdGVtLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsb0JBQW9CO0VBQ3RCOztBQUVGO0lBQ0ksZUFBZTtFQUNqQjs7QUFFQTtNQUNJLHVCQUF1QjtFQUMzQjs7QUFDQTtJQUNFLHVCQUF1QjtFQUN6QiIsImZpbGUiOiJzcmMvYXBwL2puLXdlYi1jbnQvam4td2ViLWNudC1pdGVtL2puLXdlYi1jbnQtaXRlbS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtY2FyZC13aWRlIHtcclxuICAgIG1heC13aWR0aDogIDgwMHB4O1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87ICBcclxuICAgIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xyXG4gIH0gIFxyXG5cclxuLm1hdC1pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICB9XHJcblxyXG4gIC5qZy1jYXJkLWhlYWRlci1hY2NlbnR7XHJcbiAgICAgIHBhZGRpbmc6MTZweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuZXhhbXBsZS1jYXJkLWNvbnRlbnR7XHJcbiAgICBwYWRkaW5nOjE2cHggIWltcG9ydGFudDtcclxuICB9Il19 */\"","module.exports = \"\\n \\n\\n
\\n language \\n
\\n {{header.id + ' ' + header.caption}}\\n {{header.description}}\\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, ParamMap } from '@angular/router';\nimport { switchMap, map, filter, tap, combineLatest } from 'rxjs/operators';\nimport { Observable} from 'rxjs';\nimport { EntityProvService } from 'app/shared/services/entity-prov.service';\nimport { ActionContent } from '@appModels/entity-options';\nimport { Store } from '@ngrx/store';\n\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { ExecItemAction } from '@appStore/actions/any-entity-set.actions';\nimport { ChangeRowSeed, SetRowSeed } from '@appStore/actions/any-entity.actions';\n\n\nconst FIELDS_LIST = [\n \"Name\",\n \"Description\",\n \"Owner\",\n \"IsActive\",\n \"OrderKey\",\n \"Content\",\n \"CntSubHdr\",\n \"CntFooter\",\n \"ImageKey\",\n \"IsExStyle\",\n \"QRUrl\"\n ];\n\n@Component({\n selector: 'app-jn-web-cnt-item',\n templateUrl: './jn-web-cnt-item.component.html',\n styleUrls: ['./jn-web-cnt-item.component.css']\n})\n\nexport class JnWebCntItemComponent implements OnInit {\n\n \n controls$: Observable;\n isValid$: Observable;\n header$: Observable<{caption:string ; description:string ; id:any }>;\n\n constructor(private entityProv: EntityProvService, private route: ActivatedRoute ,private store: Store) { }\n\n ngOnInit() {\n\n const item$ = this.route.paramMap.pipe(\n map((params: ParamMap) => params.get('id') ),\n switchMap( id => this.entityProv.itemData$( ActionContent, id ) ),\n filter(x => !!x )\n );\n\n const rowseed$ = this.store.select( fromSelectors.selRowSeed( ActionContent.name) ).pipe(filter(x=>!!x));\n\n this.header$ = this.store.select( fromSelectors.selectDataMetadataHeader( ActionContent.name) ).pipe(\n combineLatest( item$, (x,y)=> ({...x , id:y.id }) ),\n combineLatest( rowseed$, (x,y)=> ({...x , caption:x.caption + \" [ \" + y.Name +\" ] \" }) )\n )\n \n this.controls$ = this.route.paramMap.pipe(\n map((params: ParamMap) => params.get('id') ),\n switchMap( x => this.entityProv.controlsForEditEx$( ActionContent, x , FIELDS_LIST ) ) \n ) \n\n this.isValid$ = this.controls$.pipe( map( x => x.formGroup.valid) )\n \n }\n\n Save() {\n this.entityProv.updateItemByRowSeed(ActionContent).unsubscribe();\n } \n\n}\n","module.exports = \" \\r\\n .example-tree-invisible {\\r\\n display: none;\\r\\n }\\r\\n \\r\\n .example-tree ul,\\r\\n .example-tree li {\\r\\n margin-top: 0;\\r\\n margin-bottom: 0;\\r\\n list-style-type: none;\\r\\n }\\r\\n \\r\\n .example-tree-node {\\r\\n display: block;\\r\\n }\\r\\n \\r\\n .example-tree-node .example-tree-node {\\r\\n padding-left: 40px;\\r\\n }\\r\\n \\r\\n .example-card {\\r\\n max-width: 800px;\\r\\n margin: 10px;\\r\\n margin-left: auto;\\r\\n margin-right: auto; \\r\\n padding:0 !important;\\r\\n\\r\\n }\\r\\n \\r\\n .ex-mat-icon {\\r\\n font-size: 50px;\\r\\n }\\r\\n \\r\\n .example-tree-title {\\r\\n font-size: 24px;\\r\\n font-weight: 500;\\r\\n }\\r\\n \\r\\n .jg-card-header-prim{\\r\\n \\r\\n padding:16px !important;\\r\\n}\\r\\n \\r\\n .example-card-content{\\r\\n padding:16px !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvam4td2ViLWNudC9qbi13ZWItY250LW1haW4tbnN0L2puLXdlYi1jbnQtbWFpbi1uc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0NBQ0M7SUFDRyxhQUFhO0VBQ2Y7O0VBRUE7O0lBRUUsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixxQkFBcUI7RUFDdkI7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCOztFQUVBO0lBQ0Usa0JBQWtCO0VBQ3BCOztFQUVBO0lBQ0UsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLG9CQUFvQjs7RUFFdEI7O0VBRUE7SUFDRSxlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQjtFQUNsQjs7RUFFRDs7RUFFQyx1QkFBdUI7QUFDekI7O0VBQ0E7RUFDRSx1QkFBdUI7QUFDekIiLCJmaWxlIjoic3JjL2FwcC9qbi13ZWItY250L2puLXdlYi1jbnQtbWFpbi1uc3Qvam4td2ViLWNudC1tYWluLW5zdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiIFxyXG4gLmV4YW1wbGUtdHJlZS1pbnZpc2libGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLmV4YW1wbGUtdHJlZSB1bCxcclxuICAuZXhhbXBsZS10cmVlIGxpIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmV4YW1wbGUtdHJlZS1ub2RlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICBcclxuICAuZXhhbXBsZS10cmVlLW5vZGUgLmV4YW1wbGUtdHJlZS1ub2RlIHtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICB9IFxyXG5cclxuICAuZXhhbXBsZS1jYXJkIHtcclxuICAgIG1heC13aWR0aDogIDgwMHB4O1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87ICBcclxuICAgIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xyXG5cclxuICB9ICBcclxuXHJcbiAgLmV4LW1hdC1pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICB9XHJcblxyXG4gIC5leGFtcGxlLXRyZWUtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB9XHJcblxyXG4gLmpnLWNhcmQtaGVhZGVyLXByaW17XHJcbiAgXHJcbiAgcGFkZGluZzoxNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmV4YW1wbGUtY2FyZC1jb250ZW50e1xyXG4gIHBhZGRpbmc6MTZweCAhaW1wb3J0YW50O1xyXG59Il19 */\"","module.exports = \"
\\n\\n \\n \\n
\\n flight \\n
\\n WWW.NVAVIA.RU\\n Редактирование контента корпоративного сайта АО \\\"Нижневартовскавиа\\\" \\n
\\n\\n \\n\\n \\n \\n \\n {{node.id}}\\n {{node.Name}}\\n \\n \\n\\n \\n \\n \\n \\n \\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\\n \\n \\n {{node.id}}\\n {{node.Name}}\\n \\n\\n
\\n \\n
\\n
\\n
\\n\\n \\n

\\n \\n
\\n
\\n\\n\\n
\\n
\\n\\n\\n\\n\\n \\n \\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport { ArrayDataSource } from '@angular/cdk/collections';\nimport { Subscription, BehaviorSubject, of } from 'rxjs';\nimport { EntityProvService } from 'app/shared/services/entity-prov.service';\nimport { ActionContentRoot } from '@appModels/entity-options';\nimport { filter, tap, map, take } from 'rxjs/operators';\n\n\ninterface WebContItem{\n Name: string;\n Owner: number;\n id: number;\n OrderKey:number \n}\n\n@Component({\n selector: 'app-jn-web-cnt-main-nst',\n templateUrl: './jn-web-cnt-main-nst.component.html',\n styleUrls: ['./jn-web-cnt-main-nst.component.css']\n})\nexport class JnWebCntMainNstComponent implements OnInit {\n\n private subscriptions: Subscription[] = [];\n\n private dataSubj = new BehaviorSubject(undefined);\n public dataSubj$ = this.dataSubj.asObservable(); \n\n lSort = (j:WebContItem,k:WebContItem) => k.OrderKey?k.OrderKey:0 -j.OrderKey?j.OrderKey:0\n \n treeControl = new NestedTreeControl (\n node => this.dataSubj$.pipe(\n map( (x:WebContItem[]) => x.filter( y => (y.Owner == node.id && y.id != node.id ) ).sort( this.lSort ) ),\n take(1)\n ) \n ); \n\n dataSource = new ArrayDataSource( \n this.dataSubj$.pipe(\n map( (x:WebContItem[]) => x.filter( y => (y.id == y.Owner) || !y.Owner ).sort( this.lSort ) ),\n filter( x => x&&x.length > 0 ) , \n take(1)\n )\n );\n\n hasChild = (_: number, node: WebContItem) => {\n var ret:boolean;\n this.dataSubj$.pipe(\n filter( x => x&&x.length > 0 ), \n map( (x:WebContItem[]) => !!( x.find( i => i.Owner == node.id && i.id != node.id ) ) ), \n take(1)\n ).subscribe(x => ret = x) ;\n return ret;\n }\n\n constructor(private entityProv: EntityProvService) { }\n\n ngOnInit() {\n const data$ = this.entityProv.collectionData$( ActionContentRoot ).pipe( filter(x => !!x ) ,\n // tap( x => console.log(x))\n ) ;\n \n this.subscriptions.push(\n data$.subscribe( x => this.dataSubj.next(x) )\n ); \n }\n\n\n NewPage() {\n // this.entityProv.updateItemByRowSeed(ActionContent).unsubscribe();\n \n\n \n }\n\n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2puLXdlYi1jbnQvam4td2ViLWNudC1tYWluL2puLXdlYi1jbnQtbWFpbi5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\n\\n \\n\\n \\n \\n \\n \\n \\n {{node.name}}\\n \\n\\n \\n\\n
\\n\\n\\n\\n \\n \\n\"","import { Component, OnInit } from '@angular/core';\nimport { ActionContentRoot } from '@appModels/entity-options';\nimport { filter, delay, map, tap, take } from 'rxjs/operators';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { EntityProvService } from 'app/shared/services/entity-prov.service';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material';\n\n\n/** Flat node with expandable and level information */\ninterface ExampleFlatNode {\n expandable: boolean;\n name: string;\n level: number;\n}\n\ninterface WebContItem{\n Name: string;\n Owner: number;\n id: number;\n}\n\n\n@Component({\n selector: 'app-jn-web-cnt-main',\n templateUrl: './jn-web-cnt-main.component.html',\n styleUrls: ['./jn-web-cnt-main.component.css']\n})\nexport class JnWebCntMainComponent implements OnInit {\n\n private subscriptions: Subscription[] = [];\n\n private dataSubj = new BehaviorSubject(undefined);\n public dataSubj$ = this.dataSubj.asObservable(); \n\n\n private _transformer = (node: WebContItem, level: number) => {\n var r:ExampleFlatNode;\n this.dataSubj$.pipe(\n map( (x:WebContItem[]) => !!( x.find( i => i.Owner == node.id ) ) ) ,\n take(1)\n ). subscribe( \n x => r = (\n {\n expandable: x,\n name: node.Name,\n level: level,\n }));\n //console.log(r); \n return r;\n }\n \n private _childProv = ( node: WebContItem ) => {\n var r:WebContItem[];\n this.dataSubj$.pipe( \n map( (x:WebContItem[]) => x.filter( y => y.Owner == node.id ) )\n ).subscribe( \n x => r\n ) \n console.log(r); \n return r; \n } \n\n treeControl = new FlatTreeControl(node => node.level, node => node.expandable);\n\n treeFlattener = new MatTreeFlattener(\n this._transformer, node => node.level, node => false, this._childProv);\n\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\n \n\n constructor(private entityProv: EntityProvService) {\n \n }\n\n ngOnInit() {\n const data$ = this.entityProv.collectionData$( ActionContentRoot).pipe( filter(x => !!x ) , tap( x => console.log(x)) ) ;\n\n this.subscriptions.push(\n data$.subscribe( x => this.dataSubj.next(x) )\n ); \n\n this.subscriptions.push(\n this.dataSubj$.pipe(\n tap( x => console.log('e!')),\n map( (x:WebContItem[]) => x.filter( y => (y.id == y.Owner) || !y.Owner ) ),\n filter( x => x.length > 0 ),\n tap( x => console.log(x)),\n ).subscribe( x => this.dataSource.data = x )\n ); \n \n }\n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n}","module.exports = \".example-card {\\r\\n max-width: 800px;\\r\\n margin: 10px;\\r\\n margin-left: auto;\\r\\n margin-right: auto; \\r\\n } \\r\\n\\r\\n.icon-disp {\\r\\n font-size: 40px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2Vydi1kZXNjL3NkLW5ldy11c2VyLW1lc3NhZ2Uvc2QtbmV3LXVzZXItbWVzc2FnZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsa0JBQWtCO0VBQ3BCOztBQUVGO0lBQ0ksZUFBZTtBQUNuQiIsImZpbGUiOiJzcmMvYXBwL3NlcnYtZGVzYy9zZC1uZXctdXNlci1tZXNzYWdlL3NkLW5ldy11c2VyLW1lc3NhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWNhcmQge1xyXG4gICAgbWF4LXdpZHRoOiAgODAwcHg7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgIFxyXG4gIH0gIFxyXG5cclxuLmljb24tZGlzcCB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbn1cclxuXHJcblxyXG4iXX0= */\"","module.exports = \" \\n \\n \\n \\n
\\n \\n email \\n
\\n Добровольное сообщение\\n \\n Если вы зашли в этот раздел, значит, у Вас есть добровольное сообщение, касающееся непосредственно безопасности полетов. Если Вы хотите оставить сообщение о качестве оказанных услуг службами аэропорта, то перейдите, пожалуйста, в раздел\\n Обратная связь\\n и оставте там свое сообщение. \\n \\n\\n
\\n\\n \\n
\\n \\n
\\n
\\n \\n
\\n\\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n \\n Так же Вы можете передать добровольное сообщение письменно или устно по следующим каналам:\\n
    \\n
  • По почте: ул.Авиаторов 2, г. Нижневартовск, ХМАО-Югра, 628613, Аэропорт;
  • \\n
  • На адрес электронной почты: vashenko@nvavia.ru;
  • \\n
  • В специальный почтовый ящик: здание СПЗ авиапредприятия, КТОиР, Терминал №1 и наземный комплекс;
  • \\n
  • По телефону: 8(3466)49-20-62 ; 8(982)535-97-07;
  • \\n
  • При личном обращении в инспекции по безопасности полетов Ващенко Сергею Александровичу
  • \\n
\\n
\\n\\n
\\n\\n\\n \\n \\n \\n
\\n
\\n\\n \\n \\n \\n \\n
\\n \\n verified_user \\n
\\n Ваше сообщение успешно принято!\\n \\n Так же Вы можете передать добровольное сообщение письменно или устно по следующим каналам:\\n
    \\n
  • По почте: ул.Авиаторов 2, г. Нижневартовск, ХМАО-Югра, 628613, Аэропорт;
  • \\n
  • На адрес электронной почты: vashenko@nvavia.ru;
  • \\n
  • В специальный почтовый ящик: здание СПЗ авиапредприятия, КТОиР, Терминал №1 и наземный комплекс;
  • \\n
  • По телефону: 8(3466)49-20-62 ; 8(982)535-97-07;
  • \\n
  • При личном обращении в инспекции по безопасности полетов Ващенко Сергею Александровичу
  • \\n
\\n
\\n
\\n \\n \\n\\n \\n\\n \\n \\n
\\n \\n
\\n \\n
\\n
\\n \\n\\n \\n
\\n \\n
\\n
\\n
\\n
\\n \\n\\n\\n\\n\"","import { FormGroup } from '@angular/forms';\nimport { Component, OnInit } from '@angular/core';\nimport { select, Store } from '@ngrx/store';\nimport { Observable, from, Subscription, of } from 'rxjs';\nimport { skipUntil, skip, tap, filter, map, mergeMap, distinctUntilChanged, combineLatest, skipWhile, takeLast, take, switchMap } from 'rxjs/operators';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { ExecCurrent, PartLoadByLoc } from '@appStore/actions/any-entity-set.actions';\nimport { GetTemplateRowSeed, ChangeRowSeed, AddItem } from '@appStore/actions/any-entity.actions';\n\n\nconst flds = ['RecipientId','EventText','SenderContact','IsConfidential'];\nconst rowSeedExtFoo = () => ({ EventTypeID:\"VoluntaryReportsInfo\", CreatedDateTime:new Date(),IsImportInSD:0 });\n\n@Component({\n selector: 'app-sd-new-user-message',\n templateUrl: './sd-new-user-message.component.html',\n styleUrls: ['./sd-new-user-message.component.css']\n})\n\nexport class SdNewUserMessageComponent implements OnInit {\n\n public controls$: Observable<{ questions:any, formGroup:FormGroup} >;\n //public controls$: Observable<{ questions:any, formGroup:Observable} >;\n\n private buzy$:Observable;\n private complete$ :Observable;\n //private completeRec$ :Observable;\n public controls: { questions:any, formGroup:FormGroup}; \n \n \n //private fGroup:FormGroup; \n //private fQuestions:FormGroup; \n\n //selCurInsertedRec\n\n private subscriptions:Subscription[] = [];\n public isComplete: boolean; \n public newRecId: any; \n\n constructor(private store: Store) { }\n\n ngOnInit() {\n this.isComplete= false;\n this.buildStreams() ; \n this.buildSubscriptions();\n this.store.dispatch( new ExecCurrent( new GetTemplateRowSeed() ) );\n }\n\n buildStreams(){\n\n\n //231020\n this.controls$ = this.store.pipe(\n select( fromSelectors.selCurFormControlsEx( \n flds,\n this.store.pipe(\n select( fromSelectors.selCurRowTemplate() ),\n filter( x => !!x && Object.keys(x).length > 0 ), \n )\n ))\n ) ;\n\n // this.controls$ = this.store.pipe(\n // select( fromSelectors.selCurRowTemplate() ),\n // filter( x => !!x && Object.keys(x).length > 0 ), \n // mergeMap( x => this.store.pipe(\n // select( fromSelectors.selCurFormControlsEx( flds ,x) )\n // ))\n // )\n\n\n // 201020\n // this.controls$ = this.store.pipe(\n // select( fromSelectors.selCurRowTemplate() ),\n // filter( x => !!x && Object.keys(x).length > 0 ), \n // mergeMap( x => this.store.pipe(\n // select( fromSelectors.selCurFormControlsEx( flds ,x) )\n // ))\n // )\n\n\n // Build controls set after getting row template\n // this.controls$ = \n // this.store.select( fromSelectors.selCurFormControlsEx( flds ,{})).pipe(\n // skipUntil( this.store.select( fromSelectors.selCurRowTemplate() ).pipe( skip(1) ) ) , //горбатенько немного...\n // tap(x=>console.log(x))\n // ); \n\n\n\n \n this.buzy$ = this.store.select( fromSelectors.selCurItem( )).pipe(\n map( x => x.state.uploading ),\n distinctUntilChanged()\n );\n\n // тригерный требует переподписи в случае ресета\n this.complete$ = \n this.store.select( fromSelectors.selCurInsertedId()).pipe(\n skipWhile( x => !!x ),\n filter( x => !!x ),\n )\n\n //this.completeRec$ = this.store.select( fromSelectors.selCurInsertedRec());\n\n //this.completeRec$.subscribe(x=>console.log(x)) \n //this.complete$.subscribe(x=>console.log(x)) ;\n } \n\n buildSubscriptions(){\n\n // push control changes to store\n this.subscriptions.push(\n this.controls$.pipe( \n //tap(x => console.log(x) ),\n mergeMap(x => x.formGroup.valueChanges),\n //tap(x => console.log(x) ),\n )\n .subscribe( x=> this.store.dispatch(new ExecCurrent( new ChangeRowSeed({...x, ...rowSeedExtFoo()}) ) )) ///new SetRowSeed(x)\n );\n\n // formGroup to loc var (controls)\n this.subscriptions.push(\n this.controls$.pipe( filter (x => !!x.formGroup&&x.questions ), take(1))\n .subscribe( x => this.controls = x ) //{ this.fGroup = x.formGroup; this.fQuestions = x.questions } )\n );\n\n // formGroup disabled while inserting\n this.subscriptions.push( \n this.buzy$.subscribe( x => \n !this.controls || !this.controls.formGroup\n ? null \n : x && this.controls.formGroup.enabled \n ? this.controls.formGroup.disable() \n : !x && this.controls.formGroup.disabled ? this.controls.formGroup.enable() : null \n ));\n\n //Complete flag\n this.subscriptions.push( this.complete$.subscribe(x => { this.isComplete = true; this.newRecId = x})); //TODO\n } \n\n ngOnDestroy(){ \n while(this.subscriptions.length > 0){\n this.subscriptions.pop().unsubscribe(); \n } \n }\n\n // ---------------------\n onSubmit() {\n // надо задисаблить кнопку и ждать\n\n //по дурацки пока...\n this.store.select(fromSelectors.selCurRowSeed()).pipe(take(1)).subscribe( \n x => { this.store.dispatch(new ExecCurrent( new AddItem(x) ))} //console.log(x) ;\n ).unsubscribe();\n }\n\n onAddNextMessageClick(){\n this.isComplete = false;\n\n }\n\n}\n","export class AppSettings {\r\n svcFasadeUri1: string = \"http://webgate.nvavia.ru:8080/api\" ;\r\n svcFasadeUri2: string = \"httpp://b-ortal.nvavia.ru/api\" ;\r\n //svcFasadeUri : string = \"http://localhost:50997/api\" ;\r\n svcFasadeUri : string = \"http://dock.nvavia.ru/api\" ;\r\n \r\n svcRestMetadataSuffix: string =\"/Md\" ;\r\n svcRestRecTemplateSuffix: string =\"/!Template\" ;\r\n\r\n\r\n auth2AuthEndPoint: string = \"https://adfs.nvavia.ru/adfs/oauth2/authorize\";\r\n auth2ClientId:string = \"TESTFRONTID\";\r\n auth2FSloc:string = \"https://adfs.nvavia.ru/federationmetadata/2007-06/federationmetadata.xml\";\r\n auth2LogoutEndPoint:string = \"https://adfs.nvavia.ru/ADFS/ls\";\r\n\r\n //auth2resource:string = \"https://sqlback-win12.nvavia.ru/FsCsweb\";\r\n auth2resource:string = \"https://adfs.nvavia.ru/adfs/JohnyGalon\";\r\n auth2LoginRedirectSuffix:string = \"Auth\";\r\n auth2RequestTokenSuffix:string = \"Token\";\r\n\r\n auth2AuthEndPoint_Google: string = \"https://accounts.google.com/o/oauth2/v2/auth\";\r\n auth2ClientId_Google:string = \"919554785719-dj2snd740luu6hr698acfs9b5lsvl3he.apps.googleusercontent.com\";\r\n auth2Scope_Google:string = \"email\"; //\"profile\";//\"email\" ;\r\n auth2LogoutEndPoint_Google:string = \"https://mail.google.com/mail/u/0/?logout&hl=ru\";\r\n\r\n //\"https://www.googleapis.com/auth/drive.metadata.readonly\";\r\n //auth2Scope_Google:string = \"https://www.googleapis.com/auth/gmail.labels\";\r\n\r\n\r\n //http://webgate.nvavia.ru:8080/api/NvaAx/NvaSdVoluntaryMessageRecipients/Md\r\n\r\n }\r\n ","import { drochIcons } from \"./corel-droch-data\";\r\n\r\n\r\n/**\r\n * Canvas graph tool\r\n * 031218 \r\n */\r\n\r\nconst defaultIconColor = \"black\"; \r\n\r\n\r\n/**\r\n * 2D - point\r\n */\r\ninterface Point{\r\n x:number\r\n y:number\r\n}\r\n\r\nconst PointEq = (a:Point, b:Point ) => a.x==b.x && a.y == b.y \r\n\r\n/**\r\n * 2D - Size\r\n */\r\ninterface Size{\r\n width:number\r\n height:number\r\n}\r\n\r\n/**\r\n * Point of beze \r\n */\r\ninterface CruvePoint{\r\n begin:Point\r\n p1:Point\r\n p2:Point\r\n end:Point\r\n}\r\n\r\nexport enum GrAction { Stroke, Fill, Clear }\r\nexport type grStyles = string|string[]\r\n\r\n/*\r\n* Graph primitive by \r\n*/\r\ninterface GrAthom{\r\n path:CruvePoint[],\r\n color:grStyles,\r\n action:GrAction,\r\n}\r\n\r\ninterface GrIcon{\r\n athoms:GrAthom[]\r\n}\r\n\r\n/**\r\n * Legasy converters\r\n */\r\nconst valOrZero = ( p:number[], index:number ) => index < p.length ? p[index] : 0 ;\r\nconst indToPoint = ( p:number[], begIndex:number ):Point => ({x:valOrZero(p,begIndex),y:valOrZero(p,begIndex+1)}) ;\r\nconst legasyToCruvePoint = (p:number[]) => ({ begin:indToPoint(p,0), p1:indToPoint(p,2), p2:indToPoint(p,4), end:indToPoint(p,6) }) ;\r\nconst legasyToCruvePath = (lPath:number[][]):CruvePoint[] => lPath.map( x => legasyToCruvePoint(x) )\r\n\r\n/**\r\n* Legasy string converters\r\n*/\r\nconst legasyStrToCruvePath = (lPath:string):CruvePoint[] => {\r\n const getPoint = (s:string) => { \r\n const e = s.indexOf('}'); \r\n const b = e > 0 ? s.substr(0,e).lastIndexOf('{') : e ;\r\n return (e<=0 || b<=0) ? \r\n { pnt:undefined, rst:s } :\r\n { pnt:s.substring(b+1,e), rst: s.substring(e+1)}\r\n } \r\n\r\n const next = ( source:string, ret:CruvePoint[] ) =>{\r\n const parse = (s:string) => { \r\n const sa = s.split(',');\r\n const pr = (st:string[],i) => st.length > i ? (+st[i]):0\r\n return { \r\n begin: { x: pr(sa,0) , y: pr(sa,1) }, \r\n p1: { x: pr(sa,2) , y: pr(sa,3) }, \r\n p2: { x: pr(sa,4) , y: pr(sa,5) }, \r\n end: { x: pr(sa,6) , y: pr(sa,7) } \r\n }\r\n }\r\n const p = getPoint(source);\r\n //console.log(p);\r\n return p.pnt == undefined ? ret : next( p.rst, [...ret, parse(p.pnt)] )\r\n } \r\n return next(lPath,[]); \r\n}\r\n\r\n\r\n/**\r\n* Transformation\r\n*/\r\nconst baseScale = (p:number, len:number, sourseLen:number = 100 ) => len*p/sourseLen \r\nconst baseScalePoint = (p:Point, size:Size, sourseLen:number = 100 ):Point => ({x:baseScale(p.x,size.width,sourseLen), y:baseScale(p.y,size.height,sourseLen)})\r\nconst CruvePointToSize = (cp:CruvePoint, size: Size):CruvePoint => ({ \r\n begin:baseScalePoint(cp.begin,size),\r\n p1:baseScalePoint(cp.p1,size),\r\n p2:baseScalePoint(cp.p2,size),\r\n end:baseScalePoint(cp.end,size), \r\n})\r\nconst AthomAsSize = ( icon:GrAthom, size: Size) => ({...icon, path:icon.path.map(x => CruvePointToSize(x,size))})\r\nconst IconAsSize = ( icon:GrIcon, size: Size) => ({...icon, athoms: icon.athoms.map(x =>AthomAsSize(x, size)) })\r\n\r\nconst splitCruvePoint = (icon:CruvePoint[]):CruvePoint[][] => {\r\n const splitStep =( acc: { ret: CruvePoint[][] , cur:CruvePoint[] }, i:CruvePoint ) =>\r\n acc.cur.length > 0 && ! PointEq( acc.cur[acc.cur.length-1].end , i.begin )?\r\n { ret:[...acc.ret, [ ...acc.cur]], cur:[i] }:\r\n { ret: acc.ret, cur:[...acc.cur, i] } ;\r\n const r = icon.reduce( splitStep , {ret:[], cur:[]}); \r\n return [...r.ret, r.cur];\r\n}\r\n\r\n\r\nconst drawAthom = ( icon:GrAthom, ctx:CanvasRenderingContext2D ) => {\r\n const is = splitCruvePoint(icon.path);\r\n const getFillStyle = (i:number ) => \r\n !icon.color ? undefined:( \r\n !Array.isArray(icon.color)? icon.color: \r\n ( icon.color.length > i ? icon.color[i] : icon.color[icon.color.length-1] ) \r\n )\r\n const draw = (a:number,i:CruvePoint[]) => {\r\n ctx.beginPath(); \r\n ctx.moveTo(i[0].begin.x, i[0].begin.y);\r\n i.forEach( p => ctx.bezierCurveTo(p.p1.x,p.p1.y,p.p2.x,p.p2.y,p.end.x,p.end.y));\r\n ctx.fillStyle = getFillStyle(a) ;\r\n ctx.fill();\r\n return a + 1;\r\n }\r\n console.log(is);\r\n is.reduce( draw, 0);\r\n}\r\n\r\nconst drawIcon = ( icon:GrIcon, context:CanvasRenderingContext2D ) => icon.athoms.forEach( x => drawAthom(x,context))\r\n\r\n\r\n/**\r\n * legasy Data to Athom\r\n */\r\nconst legasyToFillAthom = (lPath:number[][], color:string):GrAthom => ({ path: legasyToCruvePath(lPath), color: color, action:GrAction.Fill})\r\nconst IconAddAthom = ( athom: GrAthom, icon:GrIcon = { athoms:[]} ):GrIcon => ({ ...icon, athoms: [ ...icon.athoms, athom] }) ;\r\nconst IconFromLegasy = ( lPath:number[][], color:string ):GrIcon => IconAddAthom( legasyToFillAthom( lPath,color ) ) ;\r\n\r\nconst legasyStrToFillAthom = (lPath:string, color:grStyles):GrAthom => ({ path: legasyStrToCruvePath(lPath), color: color, action:GrAction.Fill})\r\n\r\nconst IconFromLegasyStr = ( lPath:string, color:grStyles ):GrIcon => IconAddAthom( legasyStrToFillAthom( lPath,color ) ) ;\r\n\r\n\r\nexport const findIconByName = (name: string) => drochIcons.hasOwnProperty(name)?drochIcons[name]:undefined;\r\n\r\n\r\ninterface DrochIconOptions{\r\n presetName: string;\r\n color: string; \r\n size: {} \r\n}\r\n\r\nexport const drawIconByOption = ( context:CanvasRenderingContext2D, option:{} ) => \r\n option.hasOwnProperty(\"presetName\")\r\n ? drawIcon(\r\n IconAsSize( \r\n IconFromLegasy( \r\n findIconByName(option[\"presetName\"])\r\n ,option.hasOwnProperty(\"color\")? option[\"color\"] : defaultIconColor \r\n )\r\n , {height:100,width:100}\r\n ), context)\r\n : console.log('не шмогла'); \r\n\r\n\r\n\r\nexport const toSvgPath = (data:number[][]) => \r\n data.reduce( \r\n ( a:{ret:string, lx:number, ly:number },x) => \r\n x.length!=8\r\n ? a\r\n : { \r\n lx: x[6],\r\n ly: x[7], \r\n ret:( a.ret +' '+(x[0]!=a.lx||x[1]!=a.ly?'M '+x[0]+' '+x[1]:'') + ' C '+ x[2]+' '+x[3]+', '+x[4]+' '+x[5]+', '+x[6]+' '+x[7] ) \r\n }\r\n ,({ret:\"\", lx:-1, ly:-1 }) \r\n ).ret\r\n \r\n\r\nexport const toHtml = ( data:number[][]) =>\r\n \"\" + \"\\n\"+ //viewBox=\\\"0 0 100 100\\\"\r\n \"\" + \"\\n\"+ \r\n \"\"\r\n\r\n ","// Legasy icon data (cruves) for Svg grafics\r\n\r\nconst nva = [\r\n [11, 39, 19, 14, 92, 12, 93, 49], [93, 49, 94, 49, 87, 43, 86, 44],\r\n [86, 44, 85, 19, 26, 16, 18, 39], [18, 39, 18, 39, 25, 39, 25, 39],\r\n [25, 39, 25, 39, 25, 33, 25, 33], [25, 33, 25, 33, 32, 33, 32, 33],\r\n [32, 33, 32, 33, 32, 39, 32, 39], [32, 39, 32, 39, 43, 39, 43, 39],\r\n [43, 39, 43, 39, 43, 33, 43, 33], [43, 33, 43, 33, 50, 33, 50, 33],\r\n [50, 33, 50, 33, 50, 39, 50, 39], [50, 39, 50, 39, 63, 39, 63, 44],\r\n [63, 44, 63, 44, 62, 48, 59, 48], [59, 48, 59, 48, 63, 49, 63, 49],\r\n [63, 49, 63, 49, 72, 33, 72, 33], [72, 33, 72, 33, 79, 33, 79, 33],\r\n [79, 33, 79, 33, 79, 53, 79, 53], [79, 53, 84, 54, 88, 57, 88, 62],\r\n [88, 62, 87, 85, 9, 84, 9, 49], [9, 49, 9, 49, 10, 45, 10, 44],\r\n [10, 44, 10, 44, 17, 43, 17, 43], [17, 43, 17, 43, 16, 49, 16, 49],\r\n [16, 49, 16, 83, 83, 79, 83, 62], [83, 62, 83, 59, 79, 57, 79, 57],\r\n [79, 57, 79, 57, 79, 64, 79, 64], [79, 64, 79, 64, 72, 64, 72, 64],\r\n [72, 64, 72, 64, 72, 54, 72, 54], [72, 54, 72, 54, 67, 53, 67, 53],\r\n [67, 53, 67, 53, 69, 49, 69, 49], [69, 49, 69, 49, 72, 50, 72, 50],\r\n [72, 50, 72, 50, 72, 44, 72, 44], [72, 44, 72, 44, 61, 64, 61, 64],\r\n [61, 64, 61, 64, 54, 64, 54, 64], [54, 64, 54, 64, 61, 51, 61, 51],\r\n [61, 51, 61, 51, 54, 49, 54, 49], [54, 49, 54, 49, 52, 46, 52, 46],\r\n [52, 46, 52, 46, 57, 45, 57, 44], [57, 44, 57, 43, 50, 42, 50, 42],\r\n [50, 42, 50, 42, 50, 64, 50, 64], [50, 64, 50, 64, 43, 64, 43, 64],\r\n [43, 64, 43, 64, 43, 42, 43, 42], [43, 42, 43, 42, 32, 42, 32, 42],\r\n [32, 42, 32, 42, 32, 64, 32, 64], [32, 64, 32, 64, 25, 64, 25, 64],\r\n [25, 64, 25, 64, 25, 42, 25, 42], [25, 42, 25, 42, 4, 44, 4, 47],\r\n [4, 47, 4, 47, 4, 40, 4, 40], [4, 40, 5, 39, 11, 39, 11, 39]\r\n];\r\n\r\nexport const drochIcons = {\r\n nva:nva\r\n}\r\n\r\n\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9ncmFwaGljcy9kcm9jaC1pY29uLXN2Zy1yZWcvZHJvY2gtaWNvbi1zdmctcmVnLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"

\\n droch-icon-svg-reg works!\\n

\\n\"","import { Component, OnInit } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material';\nimport { toHtml } from '../corel-droch/corel-droch-base';\nimport { drochIcons } from '../corel-droch/corel-droch-data';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-droch-icon-svg-reg',\n templateUrl: './droch-icon-svg-reg.component.html',\n styleUrls: ['./droch-icon-svg-reg.component.css']\n})\nexport class DrochIconSvgRegComponent implements OnInit {\n\n\n constructor( private matIconRegistry: MatIconRegistry ,private sanitized: DomSanitizer){\n \n\n // const a = sanitized.bypassSecurityTrustHtml( toHtml(drochIcons['nva']) ); \n // console.log(a);\n // this.matIconRegistry.addSvgIconLiteral('nva', a);\n\n // // Object.keys(drochIcons)\n // // .forEach( x => this.matIconRegistry.addSvgIconLiteral( 'sss' ,\n // // sanitized.bypassSecurityTrustHtml( \n // // \" \"+\n // // \" \"+\n // // \" \"\n\n // // )\n\n }\n\n ngOnInit() {\n console.log(toHtml(drochIcons['nva']));\n\n // Object.keys(drochIcons)\n // .forEach( x => this.matIconRegistry.addSvgIconLiteral( x , toHtml(drochIcons[x]) ) )\n \n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9ncmFwaGljcy9kcm9jaC1pY29uLXN2Zy9kcm9jaC1pY29uLXN2Zy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n \\n\\n\\n\\n\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { findIconByName, toSvgPath } from '../corel-droch/corel-droch-base';\nimport { pipe, of } from 'rxjs';\n\n\n@Component({\n selector: 'droch-icon-svg',\n templateUrl: './droch-icon-svg.component.html',\n styleUrls: ['./droch-icon-svg.component.css']\n})\nexport class DrochIconSvgComponent implements OnInit {\n \n @Input('icon') icon: string;\n\n public iconPath:string;\n\n constructor() { }\n\n ngOnInit() {\n this.iconPath = toSvgPath( findIconByName(this.icon)) ;\n\n console.log(this.iconPath);\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9ncmFwaGljcy9kcm9jaC1pY29uL2Ryb2NoLWljb24uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\"","import { Component, OnInit, AfterViewInit, ViewChild, ElementRef, Input } from '@angular/core';\nimport { drawIconByOption } from '../corel-droch/corel-droch-base';\n\n@Component({\n selector: 'droch-icon',\n templateUrl: './droch-icon.component.html',\n styleUrls: ['./droch-icon.component.css']\n})\nexport class DrochIconComponent implements OnInit , AfterViewInit {\n\n @ViewChild('myCanvas') myCanvas: ElementRef;\n @Input('icon') icon: string;\n\n public context: CanvasRenderingContext2D;\n\n //private icon:string = undefined;\n\n constructor() { }\n\n ngOnInit() {\n \n }\n\n public ngAfterViewInit() {\n // get the context\n this.context = (this.myCanvas.nativeElement).getContext('2d');\n drawIconByOption(this.context, ({presetName:this.icon, color:\"red\"}));\n }\n}\n","// Опции для AnyEntityLazy - итема\r\nexport interface anyEntityOptions{\r\n name: string \r\n location: string // http sublocation key \r\n selectId: (i:T) => any // entity to id value func \r\n selBack: (x:any) => string // id value to http sublocation suffix\r\n} \r\n\r\nexport class AnyEntity\r\n{\r\n [key: string]: any \r\n} \r\n\r\nexport class AnyEntityId\r\n{\r\n id:any \r\n [key: string]: any \r\n} \r\n\r\n// Backend error message\r\nexport interface BackICommonError{\r\n Name:string \r\n Message:string\r\n Code:number\r\n StatusCode:number\r\n Data:any \r\n} \r\n\r\n// \r\nexport interface BackICommonErrorEx extends BackICommonError {\r\n Id:string\r\n Retriable:boolean\r\n} \r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n/*\r\n* 210720 Попытка идентифицировать загрузку с бэка\r\n*/\r\nexport enum BackCommonContextMode { Data, Metadata }\r\n\r\nexport enum BackContextMode { Data, Metadata, MetadataField, Record }\r\n\r\n\r\nexport const BackContextModeToStr = ( mode:BackContextMode ) => ( <[BackContextMode,string][]> [\r\n [BackContextMode.Data, \"Data\"],\r\n [BackContextMode.Metadata, \"Metadata\"],\r\n [BackContextMode.MetadataField, \"MetadataField\"],\r\n [BackContextMode.Record, \"Record\"]\r\n ]).reduce( (a,x) => !a && mode == x[0] ? x[1] :a , undefined)\r\n\r\n\r\n\r\nexport interface IBackFieldMeta {\r\n options : anyEntityOptions\r\n field: string\r\n}\r\n\r\nexport interface IBackCommonContext {\r\n options : anyEntityOptions\r\n optionsMode : BackCommonContextMode\r\n}\r\n\r\nexport interface IBackRecord {\r\n options : anyEntityOptions\r\n id : T\r\n}\r\n\r\nexport type IBackContext = IBackCommonContext | IBackFieldMeta | IBackRecord ;\r\n\r\nexport interface IBackContextDescriptor{\r\n context : IBackContext\r\n contextMode: BackContextMode\r\n}\r\n\r\n/*\r\n* Loadeble Back-end context descriptor\r\n*/\r\nexport class BackContextDescriptor {\r\n\r\n public static Data( opt: anyEntityOptions ) { return new BackContextDescriptor( { options: opt, optionsMode:BackCommonContextMode.Data } ) ;}\r\n public static Meta( opt: anyEntityOptions ) { return new BackContextDescriptor( { options: opt, optionsMode:BackCommonContextMode.Metadata} ) ;}\r\n public static MetaField( opt: anyEntityOptions, fld: string ) { return new BackContextDescriptor( { options: opt, field:fld} ) ;}\r\n public static Record( opt: anyEntityOptions, recId: U ) { return new BackContextDescriptor( {options: opt, id:recId } ) ;}\r\n\r\n constructor( public context : IBackContext ){}\r\n\r\n contextMode = \r\n this.context.hasOwnProperty(\"field\") \r\n ? BackContextMode.MetadataField\r\n : this.context.hasOwnProperty(\"id\")\r\n ? BackContextMode.Record\r\n : this.context.hasOwnProperty(\"optionsMode\") && this.context[\"optionsMode\"] == BackCommonContextMode.Data \r\n ? BackContextMode.Data\r\n : BackContextMode.Metadata\r\n\r\n} \r\n/////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\n\r\n","import { anyEntityOptions, AnyEntityId } from \"./any-entity\";\r\n\r\n\r\nexport const JgMockTableOption:anyEntityOptions = {\r\n name: \"JgMockTable\", \r\n location:\"/NvaSd2/JgMockTable\", \r\n selectId: (x) => x.id,\r\n selBack: (x:string) => (\"?ID=\" + x )\r\n };\r\n\r\nexport const SdIncomingOption:anyEntityOptions = {\r\n name: \"NvaSdIncoming\", \r\n location:\"/NvaSd2/NvaSdIncoming\", \r\n selectId: (x) => x.ID,\r\n selBack: (x:string) => (\"?ID=\" + x )\r\n }; \r\n\r\n\r\nexport const NvaPlanPurchaseLine:anyEntityOptions = {\r\n name: \"NvaPlanPurchaseLine\", \r\n location:\"/NvaAx/NvaPlanPurchaseLine\", \r\n selectId: (x) => x.RECID,\r\n selBack: (x:string) => (\"?RECID=\" + x )\r\n }; \r\n\r\n\r\n// Testing handling access to Auth back service \r\n// 091019 \r\nexport const AuthTestDataOption:anyEntityOptions = {\r\n name: \"AuthTestData\", \r\n location:\"/values\", \r\n selectId: (x) => x.RECID,\r\n selBack: (x:string) => (\"?RECID=\" + x )\r\n }; \r\n\r\n//\r\nexport const FlightFidsOption:anyEntityOptions = {\r\n name: \"FlightFids\", \r\n location:\"/NvaAx/FlightFids\", \r\n selectId: (x) => x.ID,\r\n selBack: (x:string) => (\"/\" + x )\r\n}; \r\n\r\nexport const NvaOmaCustLogo:anyEntityOptions = {\r\n name: \"NvaOmaCustLogo\", \r\n location:\"/NvaAx/NvaOmaCustLogo\", \r\n selectId: (x) => x.CUSTACCOUNT,\r\n selBack: (x:string) => (\"?CUSTACCOUNT=\" + x )\r\n}; \r\n\r\n\r\nexport const ActionContentRoot:anyEntityOptions = {\r\n name: \"ActionContentRoot\", \r\n location:\"/WebInstance/ActionContentRoot\", \r\n selectId: (x) => x.id,\r\n selBack: (x:string) => (\"?id=\" + x )\r\n}; \r\n\r\nexport const ActionContent:anyEntityOptions = {\r\n name: \"ActionContent\", \r\n location:\"/WebInstance/ActionContent\", \r\n selectId: (x) => x.id,\r\n selBack: (x:string) => (\"?id=\" + x )\r\n}; \r\n\r\n\r\n/// Risk Entitys\r\n\r\nexport const RiskExamItemsOption:anyEntityOptions = {\r\n name: \"ExamItems\", \r\n location:\"/NvaRisks/ExamItems\", \r\n selectId: (x) => x.ExamID,\r\n selBack: (x:string) => (\"/\" + x )\r\n}; \r\n\r\n\r\nexport const RiskFactorsGroupOption:anyEntityOptions = {\r\n name: \"RiskFactorsGroup\", \r\n location:\"/NvaAx/NVA_OMA_RISKSFACTORSGROUP\", \r\n selectId: (x) => x.RECID,\r\n selBack: (x:string) => (\"/\" + x )\r\n}; \r\n\r\n\r\nexport const RiskAssessmentOption:anyEntityOptions = {\r\n name: \"RiskAssessment\", \r\n location:\"/NvaAx/NVA_OMA_RISKSASSESSMENT\", \r\n selectId: (x) => x.RECID,\r\n selBack: (x:string) => (\"/\" + x )\r\n}; \r\n\r\nexport const RiskFactorsOption:anyEntityOptions = {\r\n name: \"RiskFactors\", \r\n location:\"/NvaAx/NVA_OMA_RISKSFACTORS\", \r\n selectId: (x) => x.RECID,\r\n selBack: (x:string) => (\"/\" + x )\r\n}; \r\n\r\n","export const id = (x) => x\r\nexport const isNotEmpty = (x:any) => !!x\r\n\r\n\r\n/**\r\n * monad \r\n */\r\nexport class monad {\r\n static of = (x:any) => new monad(x)\r\n private constructor(public val:any) { }\r\n public bind:(( f:((v:any) => monad )) => monad ) = (f) => f(this.val) ;\r\n public run = () => this.val;\r\n public map = (f:((x:any)=>any )) => this.bind( y => monad.of(f(y))); \r\n public tap = (f:((x:any)=>any )) => { f(this.val); return this;} \r\n}\r\n\r\n\r\n/**\r\n * typed monad \r\n */\r\nexport class tMonad {\r\n static of = (x:U) => new tMonad(x) ; \r\n private constructor(public val:T) { }\r\n public bind: (f:( (x:T) => tMonad ) ) => tMonad = (f) => f(this.val) ; \r\n\r\n public map: (f:((x:T) => U)) => tMonad = (f) => this.bind( y => tMonad.of(f(y))); \r\n public tap = (f:((x:any)=>any )) => { f(this.val); return this;} \r\n public run = () => this.val;\r\n}\r\n\r\n//public bind(f:( (x:T) => tMonad ) ) { return f(this.val) ; } \r\n//public map( f:((x:T) => U) ) { return this.bind( y => tMonad.of(f(y))); } \r\n\r\n/*\r\n* 210720 New monads \r\n* No need to stand - you need to shine\r\n*/\r\n\r\nexport interface IMonad\r\n{\r\n bind( f:((x:T) => IMonad)) : IMonad\r\n ret ( v:U ) : IMonad\r\n}\r\n\r\n\r\n// Extention пока по дурацки\r\nexport class MonadExtention{\r\n public static map = ( inst:IMonad , f:((x:T)=> U) ) => inst.bind( (y:T) => inst.ret(f(y)) )\r\n public static tap = ( inst:IMonad , f:((x:T)=> any) ) => inst.bind( (y:T) => { f(y) ; return inst.ret( y ); })\r\n public static applicative = ( inst:IMonad , mf:( IMonad U >) ) => mf.bind( (f) => MonadExtention.map(inst,f))\r\n public static join = ( inst:IMonad> ) => inst.bind( (x) => x)\r\n}\r\n\r\n/*\r\n* Either As Haskell lexic\r\n*/\r\nexport class Either {\r\n // switchMap(arg0: (x: any) => import(\"rxjs\").OperatorFunction) {\r\n // throw new Error(\"Method not implemented.\");\r\n // }\r\n public static Left = ( e:E ) => new Either(true, e, null ) ;\r\n public static Right = ( v:U ) => new Either(false, null,v) ;\r\n //public static Of = ( v:T ) => Either.Right(v) ;\r\n private constructor( private readonly isLeft:boolean, private readonly err?:E, private readonly val?:T ){ } // лигитимные типы могут быть нулэйблы, нужен флаг :( ...\r\n public bind : ( f:((x:T) => Either)) => Either = (f) => this.isLeft ? Either.Left(this.err) : f(this.val) ;\r\n public ret = ( v:U ) => Either.Right(v) ;\r\n public run = () => this.isLeft ? this.err : this.val ;\r\n\r\n //Extention\r\n public map = (f:((x:T)=> U)) => >MonadExtention.map(this,f) ; \r\n public tap = (f:((x:T)=> any)) => >MonadExtention.tap(this,f);\r\n public applicative = ( mf:Either U>) => >MonadExtention.applicative(this,mf) ; \r\n\r\n public static join = MonadExtention.join; \r\n //public join = (f:((x:T)=> Either)) MonadExtention.join; \r\n\r\n //Invent \r\n /*\r\n * Ну пиздец блядь!!! Зеркалит монаду \r\n */\r\n public reverse: () => Either = () => this.isLeft ? Either.Right(this.err) : Either.Left(this.val) \r\n\r\n //tools \r\n public LeftIs : (f:((y:T)=> boolean), fc?:( (y:T) => E ) ) => Either = (f,fc?) => \r\n this.bind( x => f(x) ? Either.Left( (fc == undefined) ? id(x) : fc(x) ) : Either.Right(x) ) \r\n\r\n public LeftOrMap = ( isF :((y:T)=> boolean) , f:((x:T)=> U), fc?:( (y:T) => E ) ) => this.LeftIs(isF, fc ).map(f)\r\n public LeftIsNotEmptyOrMap = (f:((x:T)=> U), fc?:( (y:T) => E ) ) => this.LeftOrMap(isNotEmpty, f, fc)\r\n\r\n}\r\n\r\n\r\n\r\n","import { Observable, from } from \"rxjs\";\r\nimport { FieldDescribe } from \"@appModels/metadata\";\r\nimport { QuestionBase } from \"../question-base\";\r\nimport { filter, map, tap } from \"rxjs/operators\";\r\nimport { TextboxQuestion } from \"../question-textbox\";\r\nimport { DropdownQuestion } from \"../question-dropdown\";\r\nimport { DateTimePickerQuestion } from \"../question-datetimepicker\";\r\nimport { DatePickerQuestion } from \"../question-datepicker\";\r\nimport { TextareaQuestion } from \"../question-textarea\";\r\nimport { CheckboxQuestion } from \"../question-checkbox\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { TextareaHtmlQuestion } from \"../question-textarea-html\";\r\n\r\n/**\r\n * Form Question adapter \r\n * 111218\r\n */\r\n\r\nconst BKND_DATE_DATATYPE_NAME = \"Date\";\r\nconst BKND_DATE_DATATYPE_NAME_NULABLE = \"Date?\";\r\nconst BKND_DATETIME_DATATYPE_NAME = \"DateTime\";\r\nconst BKND_TEXT_DATATYPE_NAME = \"Text\";\r\nconst BKND_HTML_DATATYPE_NAME = \"Html\";\r\nconst BKND_BOOL_DATATYPE_NAME = \"boolean\";\r\nconst BKND_BOOL_DATATYPE_NAME_NULABLE = \"boolean?\";\r\n\r\n//\r\nconst DEFAULT_VALUES_FOR_TYPES : {[key: string]: any} = {\r\n [BKND_DATE_DATATYPE_NAME] : new Date(), \r\n [BKND_DATE_DATATYPE_NAME_NULABLE] : null,\r\n [BKND_DATETIME_DATATYPE_NAME] : new Date(),\r\n [BKND_TEXT_DATATYPE_NAME] : \"\",\r\n [BKND_HTML_DATATYPE_NAME] : \"\",\r\n [BKND_BOOL_DATATYPE_NAME] : false, \r\n [BKND_BOOL_DATATYPE_NAME_NULABLE] : null\r\n};\r\n\r\ninterface cdata { descr:FieldDescribe ; ctrl?:QuestionBase; rowSeed$:Observable<{}> } ; // контейнер для конвеера\r\ntype cfactory = (descr:FieldDescribe, rowSeed$:Observable<{}> ) => QuestionBase ; \r\nconst ifEmptyAnd = ( c:( (x:cdata) => boolean ) , f:cfactory) => ( (x:cdata) => x.ctrl || ! c(x) ? x : { descr:x.descr, ctrl:f(x.descr, x.rowSeed$), rowSeed$:x.rowSeed$ } );\r\n\r\n /**\r\n * Возвращает сет со списком полей изменения которых надо отслеживать \r\n */ \r\n// export const dbItemQuestionsWithDepFields$ = (dataSourse:Db, rowSeed:Observable<{}>) =>\r\n// this.dbItemQuestions$(dataSourse,rowSeed)\r\n// .combineLatest( this.getDependedOwnerFields$( dataSourse), (q,f) => ({ questions:q , fields:f }) )\r\n\r\n/**\r\n* Return new rowTemplate (RowSeed) for FieldDescribe[] by FieldDescribe def value \r\n*/\r\nexport const getDefValByType = (type:string) => DEFAULT_VALUES_FOR_TYPES.hasOwnProperty(type) ? DEFAULT_VALUES_FOR_TYPES[type] : undefined ; \r\n/**\r\n* Return new rowTemplate (RowSeed) for FieldDescribe[] by FieldDescribe def value \r\n*/\r\nexport const genRowTemplateByFldsDesc = (flds:FieldDescribe[]) => flds.reduce( (a,x) => ({ ...a , [x.id]:x.defaultValue }) ,{} )\r\n\r\n/**\r\n* Return new rowTemplate (RowSeed) for FieldDescribe[] by Type def value \r\n*/\r\nexport const getRowTemplateByFldsDesc = (flds:FieldDescribe[]) => flds.reduce( (a,x) => ({ ...a , [x.id]:getDefValByType(x.type) }) ,{} )\r\n\r\n/**\r\n* Build Item Question set for dbsource\r\n* @param dataSourse \r\n*/\r\nexport const fldDescsToQuestions = (flds:FieldDescribe[],rowSeed:Observable<{}>) => {\r\n const toCdata = ( d:FieldDescribe) => ( { descr:d , ctrl:null, rowSeed$:rowSeed } as cdata ); \r\n const fromCdata = ( d:cdata) => d.ctrl ;\r\n const toQuest = (fld:FieldDescribe, rowSeed:Observable<{}> ) => {\r\n //console.log(fld);\r\n if( fld.foreignKey) {\r\n return toDropDown(fld, rowSeed)\r\n }\r\n else{\r\n switch(fld.type){\r\n case BKND_DATETIME_DATATYPE_NAME: \r\n return toDateTimePicker(fld, rowSeed);\r\n case BKND_DATE_DATATYPE_NAME: \r\n return toDatePicker(fld, rowSeed);\r\n case BKND_DATE_DATATYPE_NAME_NULABLE: \r\n return toDatePicker(fld, rowSeed);\r\n case BKND_TEXT_DATATYPE_NAME: \r\n return toTextArea(fld, rowSeed);\r\n case BKND_HTML_DATATYPE_NAME: \r\n return toTextAreaHtml(fld, rowSeed);\r\n case BKND_BOOL_DATATYPE_NAME: \r\n return toCheckbox(fld, rowSeed);\r\n case BKND_BOOL_DATATYPE_NAME_NULABLE: \r\n return toCheckbox(fld, rowSeed);\r\n default: \r\n return toTextBox(fld, rowSeed);\r\n }\r\n }\r\n } \r\n return flds\r\n .filter( x => ( x && x.visible )) //&& x.visible != false\r\n .sort( (a,b) => a.order - b.order )\r\n .map(x => toQuest(x, rowSeed));\r\n \r\n}\r\n\r\n/******************************************************************************************************* */\r\nconst buildQuestionBaseOption = (x:FieldDescribe, rowSeed$:Observable<{}>) => ({ \r\n key:x.id, //x.altId, поправил бэкэнд верблюд ушел нах\r\n label:x.name, \r\n required:!!x.required, \r\n hint: x.description,\r\n validators: x.validators,\r\n validationMessages: x.validationMessages,\r\n order: x.order,\r\n disabled: !x.editable \r\n});\r\n\r\n\r\nconst toTextBox = (x:FieldDescribe, rowSeed$:Observable<{}>) => \r\n new TextboxQuestion( \r\n buildQuestionBaseOption(x, rowSeed$ ) \r\n );\r\n \r\nconst toDropDown = (x:FieldDescribe, rowSeed$:Observable<{}>) => { \r\n //const buildOptions = (loc:string, rs$:Observable<{}> ) => ({})//this.fkEngin.getForeginList$(loc, rs$ ) ;\r\n const buildBaseOption = (x:FieldDescribe, rowSeed$:Observable<{}>) => {\r\n var ret = buildQuestionBaseOption(x, rowSeed$ );\r\n //ret['options$'] = buildOptions(x.foreignKey, rowSeed$); \r\n ret['optionsRefLoc'] = x.foreignKey; \r\n ret['rowSeed$'] = rowSeed$; \r\n \r\n return ret;\r\n }\r\n return new DropdownQuestion(buildBaseOption(x,rowSeed$)) ; \r\n}\r\n\r\nconst toDateTimePicker = (x:FieldDescribe, rowSeed$:Observable<{}>) => { \r\n //console.log(\"toDateTimePicker\")\r\n return new DateTimePickerQuestion(\r\n buildQuestionBaseOption(x, rowSeed$ ) \r\n ); \r\n}\r\n\r\nconst toDatePicker = (x:FieldDescribe, rowSeed$:Observable<{}>) => { \r\n //console.log(\"toDatePicker\")\r\n return new DatePickerQuestion(\r\n buildQuestionBaseOption(x, rowSeed$ ) \r\n ); \r\n}\r\n\r\nconst toTextArea = (x:FieldDescribe, rowSeed$:Observable<{}>) => { \r\n //console.log(\"TextareaQuestion\")\r\n return new TextareaQuestion(\r\n buildQuestionBaseOption(x, rowSeed$ ) \r\n ); \r\n\r\n\r\n}\r\nconst toTextAreaHtml = (x:FieldDescribe, rowSeed$:Observable<{}>) => { \r\n //console.log(\"TextareaQuestion\")\r\n return new TextareaHtmlQuestion(\r\n buildQuestionBaseOption(x, rowSeed$ ) \r\n ); \r\n}\r\n\r\n\r\n\r\nconst toCheckbox = (x:FieldDescribe, rowSeed$:Observable<{}>) => { \r\n //console.log(\"toDatePicker\")\r\n return new CheckboxQuestion(\r\n buildQuestionBaseOption(x, rowSeed$ ) \r\n ); \r\n}\r\n\r\n\r\n//***********************************************************************************************************************/\r\n/**\r\n * Convert question set to angular FormGroup \r\n * @param questions \r\n * @param rowSeed - INIT VALUES\r\n */\r\n export const toFormGroup = (questions: QuestionBase[], rowSeed:{}) => {\r\n let group: any = {};\r\n\r\n questions\r\n .forEach(question => {\r\n //console.log(question); \r\n const cutSecondTailMatch = (x) => x.match(/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d/) ;\r\n const cutSecondTailMatchCheck = (x,def) => ( x != null && x.length > 0 ) ? x[0] : def ;\r\n const cutSecondTail = (x) => (typeof x === \"string\") ? cutSecondTailMatchCheck( cutSecondTailMatch(x), x ) : x ;\r\n\r\n const initVal =\r\n (question.constructor.name == \"DateTimePickerQuestion\") \r\n ? cutSecondTail(rowSeed[question.key])\r\n : ( rowSeed[question.key] != null ? rowSeed[question.key] : question.value || '' ) ; \r\n\r\n const cntrl = new FormControl( initVal, question.validators); \r\n \r\n if( question.disabled ){\r\n cntrl.disable(); \r\n } \r\n //console.log(initVal);\r\n //console.log(question.key);\r\n group[question.key] = cntrl; \r\n });\r\n\r\n //console.log('wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww');\r\n\r\n return new FormGroup(group);\r\n\r\n } \r\n\r\n /**\r\n * Convert question set to angular FormGroup stream \r\n * @param questions \r\n * @param initValues - INIT VALUES STREAM\r\n */\r\n export const toFormGroup$ = (questions: QuestionBase[], initValues$:Observable<{}>) => \r\n initValues$.pipe(\r\n filter(x=>!!x),\r\n map( iVals => toFormGroup(questions,iVals) ),\r\n ) ;\r\n\r\n\r\n\r\n","import { ValidatorFn } from \"@angular/forms\";\r\n\r\nexport class QuestionBase {\r\n value: T;\r\n key: string;\r\n label: string;\r\n hint: string;\r\n required: boolean;\r\n order: number;\r\n controlType: string;\r\n validators:ValidatorFn[]; \r\n validationMessages : { [key: string]: string } ; \r\n disabled :boolean;\r\n \r\n\r\n constructor(options: {\r\n value?: T,\r\n key?: string,\r\n label?: string,\r\n hint?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n validators?:ValidatorFn[], \r\n validationMessages? : { [key: string]: string } , \r\n disabled?: boolean\r\n } = {}) {\r\n\r\n this.value = options.value;\r\n this.key = options.key || '';\r\n this.label = options.label || '';\r\n this.hint = options.hint || '';\r\n this.required = !!options.required;\r\n this.order = options.order === undefined ? 1 : options.order;\r\n this.controlType = options.controlType || '';\r\n this.validators = options.validators || [];\r\n this.validationMessages = options.validationMessages || {};\r\n this.disabled = !!options.disabled;\r\n //console.log( options.required);\r\n //console.log(options);\r\n //console.log(options.disabled);\r\n //console.log(!!options.disabled);\r\n //console.log(this.disabled);\r\n }\r\n\r\n getExLabel = () => this.label + ( this.required ? \" *\":\"\") ;\r\n\r\n}\r\n\r\n\r\n/*\r\nCopyright 2017-2018 Google Inc. All Rights Reserved.\r\nUse of this source code is governed by an MIT-style license that\r\ncan be found in the LICENSE file at http://angular.io/license\r\n*/","import { QuestionBase } from './question-base';\r\n\r\nexport class CheckboxQuestion extends QuestionBase {\r\n controlType = 'checkbox';\r\n type: boolean;\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.type = options['type'] || '';\r\n }\r\n}\r\n\r\n\r\n/*\r\nCopyright 2017-2018 Google Inc. All Rights Reserved.\r\nUse of this source code is governed by an MIT-style license that\r\ncan be found in the LICENSE file at http://angular.io/license\r\n*/","import { QuestionBase } from './question-base';\r\n\r\nexport class DatePickerQuestion extends QuestionBase {\r\n controlType = 'datepicker';\r\n type: Date;\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.type = options['type'] || '';\r\n }\r\n}\r\n","import { QuestionBase } from './question-base';\r\n\r\nexport class DateTimePickerQuestion extends QuestionBase {\r\n controlType = 'datetimepicker';\r\n type: Date;\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.type = options['type'] || '';\r\n }\r\n}\r\n","import { QuestionBase } from './question-base';\r\nimport { Observable } from 'rxjs';\r\n//import { locationToEntityOption, locationInfo } from '../services/foregin/foreign-key.helper';\r\n\r\nexport class DropdownQuestion extends QuestionBase {\r\n controlType = 'dropdown';\r\n options: {key: string, value: string}[] = [];\r\n options$: Observable<{key: string, value: string}[]> = null;\r\n optionsRefLoc: string = null;\r\n rowSeed$: string = null;\r\n\r\n constructor(options: {} = {} ) {\r\n super(options);\r\n\r\n this.options = options['options'] || [];\r\n this.options$ = options['options$'] || null;\r\n this.optionsRefLoc = options['optionsRefLoc'] || null;\r\n this.rowSeed$ = options['rowSeed$'] || null;\r\n //\r\n //const a = this.optionsRefLoc ? locationToEntityOption(this.optionsRefLoc) : null ;\r\n //if(this.optionsRefLoc){console.log(locationInfo(this.optionsRefLoc )) }\r\n //console.log(this.order);\r\n \r\n }\r\n}\r\n\r\n\r\n/*\r\nCopyright 2017-2018 Google Inc. All Rights Reserved.\r\nUse of this source code is governed by an MIT-style license that\r\ncan be found in the LICENSE file at http://angular.io/license\r\n*/","import { QuestionBase } from './question-base';\r\n\r\nexport class TextareaHtmlQuestion extends QuestionBase {\r\n controlType = 'textarea_html';\r\n type: string;\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.type = options['type'] || '';\r\n }\r\n}\r\n\r\n/*\r\nCopyright 2017-2018 Google Inc. All Rights Reserved.\r\nUse of this source code is governed by an MIT-style license that\r\ncan be found in the LICENSE file at http://angular.io/license\r\n*/","import { QuestionBase } from './question-base';\r\n\r\nexport class TextareaQuestion extends QuestionBase {\r\n controlType = 'textarea';\r\n type: string;\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.type = options['type'] || '';\r\n }\r\n}\r\n\r\n/*\r\nCopyright 2017-2018 Google Inc. All Rights Reserved.\r\nUse of this source code is governed by an MIT-style license that\r\ncan be found in the LICENSE file at http://angular.io/license\r\n*/","import { QuestionBase } from './question-base';\r\n\r\nexport class TextboxQuestion extends QuestionBase {\r\n controlType = 'textbox';\r\n type: string;\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.type = options['type'] || '';\r\n }\r\n}\r\n\r\n\r\n/*\r\nCopyright 2017-2018 Google Inc. All Rights Reserved.\r\nUse of this source code is governed by an MIT-style license that\r\ncan be found in the LICENSE file at http://angular.io/license\r\n*/\r\n\r\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { of, Observable } from 'rxjs';\nimport { map, tap, delay, mergeMap, switchMap, mergeAll, toArray } from 'rxjs/operators';\nimport { Either } from '@appModels/monad';\n\nimport * as fromStore from '@appStore/index';\n//import * as fromSelectors from '@appStore/selectors/index';\nimport { Store } from '@ngrx/store';\nimport { EntityProvService } from './entity-prov.service';\nimport { IBackContextDescriptor } from '@appModels/any-entity';\nimport { error } from 'protractor';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppAuthResolverService {\n\n constructor(\n private store: Store,\n private entityProv:EntityProvService\n ) { }\n\n resolve = (route: ActivatedRouteSnapshot, state:RouterStateSnapshot) => \n Either.Right, ActivatedRouteSnapshot>(route)\n //.tap(x=>console.log(x))\n .bind( y => y && y.data && y.data.hasOwnProperty(\"load\") \n ? Either.Right< Observable , IBackContextDescriptor[]>( y.data[\"load\"] ) \n : Either.Left< Observable , IBackContextDescriptor[]>(of(true) ) )\n .map( x => \n this.entityProv.loadFromBack$(x).pipe(\n toArray(),\n map( v => v.reduce( (a,i) => a && i.loaded ,true ) )\n )\n ) \n //.tap( x => console.log(x))\n .run() \n .pipe(\n //tap( x => console.log(x) ) ,\n ) ;\n\n \n // of( Either.Right, ActivatedRouteSnapshot>(route)).pipe(\n // tap(x => console.log(x.run()) ),\n // map(x => x\n // .tap(x=>console.log(x))\n // .bind( y => y && y.data && y.data.hasOwnProperty(\"load\") \n // ? Either.Right< Observable , IBackContextDescriptor[]>( y.data[\"load\"] ) \n // : Either.Left< Observable , IBackContextDescriptor[]>(of(true) ) )\n // .map( x => this.entityProv.loadFromBack$(x) ) \n // .tap( x => console.log(x))\n // //.map( x => of(false) ) \n // .run() \n // ),\n // mergeMap(x => x),\n // tap(x => console.log(x) ),\n //) \n\n \n}\n","import { Injectable } from '@angular/core';\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { filter, take, map, tap, combineLatest, startWith, switchMap } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { anyEntityOptions, AnyEntity } from '@appModels/any-entity';\nimport { GetItemsMeta, GetItemsPart } from '@appStore/actions/any-entity.actions';\nimport { SetCurrent, Exec, AddItem } from '@appStore/actions/any-entity-set.actions';\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { ForeignKeyService } from './foregin/foreign-key.service';\nimport { ErrorEnvironment } from '@appStore/actions/environment.actions';\nimport { of } from 'rxjs';\n\nconst OPTION_PARAM_DATA_KEY = 'option';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppResolverService implements Resolve {\n\n constructor(\n private store: Store,\n private fk:ForeignKeyService\n ) { }\n\n /**\n * Воще наверное цепь должна делатся через эффекты,\n * но в общеобразовательных целях попробуем замонстрячить стрим...\n */\n resolve(route: ActivatedRouteSnapshot, state:RouterStateSnapshot) {\n const opt:anyEntityOptions = route.data[OPTION_PARAM_DATA_KEY];\n\n //101019\n //this.store.select(fromSelectors.selectEnvironment).subscribe(x=>console.log(x))\n //this.store.dispatch( new ErrorEnvironment('3'))\n\n\n // console.log(route);\n // console.log(state);\n\n return state.url == \"/forms/risks\"\n ? of(true) \n : this.store.select( fromSelectors.selectIsExist(opt.name)).pipe(\n tap( x => !x ? this.store.dispatch( new AddItem(opt)) : null ),\n filter( x => x ),\n //combineLatest( this.store.select( fromSelectors.selectIsMetadataLoaded(opt.name)), (x,y)=> y ), \n switchMap(() => this.store.select( fromSelectors.selectIsMetadataLoaded(opt.name)) ), \n tap( x => !x ? this.store.dispatch( new Exec( {name:opt.name , itemAction: new GetItemsMeta() }) ) : null ),\n filter( x => x ),\n //combineLatest( this.store.select( fromSelectors.selCurName()), (x,y)=> y ), \n switchMap( () => this.store.select( fromSelectors.selCurName()) ),\n tap(x => x != opt.name ? this.store.dispatch( new SetCurrent(opt.name) ) : null ),\n filter( x => x == opt.name ),\n //tap( x=> this.store.dispatch( new Exec( {name:'NvaSdEventType' , itemAction: new GetItemsPart('/Ax/NvaSdEventType?SERVICEDESCID=1') }) )), // Debug\n map( x => !!x ),\n ).pipe(\n startWith(false),\n take(2)\n );\n }\n\n\n\n}\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { AppSettings } from \"../app-setting\";\r\nimport { of } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AppSettingsService {\r\n getSettings(): Observable {\r\n let settings = new AppSettings();\r\n return of(settings);\r\n }\r\n}","// ===_==_==_=_==_=__==========================\r\n// / \\/ |( / |/ /_ \\\r\n// / / / _/ __/\r\n// \\/\\/\\_\\/\\/\\_\\___/\r\n// Author:\t\tSchogolev Mike\r\n// Create date: 16.10.2019\r\n// Description:\tAuth & Autorization service\r\n//\r\n// 161019 Пока нужна чисто затычка \r\n// =============================================\r\n\r\n// Helper \r\n//export const isNeedAuth = (error:any) => true?true:false \r\nimport { Store } from '@ngrx/store';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport * as fromStore from '@appStore/index';\r\nimport { Http, RequestOptions , Headers} from '@angular/http';\r\nimport { AppSettingsService } from './app-setting.service';\r\nimport { map, mergeMap, tap, take, combineLatest, takeLast, filter, mapTo } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { of, timer, Observable, merge } from 'rxjs';\r\nimport * as fromSelectors from '@appStore/selectors/index';\r\nimport { AuthSuccess, ErrorEnvironment, AuthTokenReceived, AuthLogoutSucess } from '@appStore/actions/environment.actions';\r\nimport { authingReqData } from '@appStore/reducers/environment.reduser';\r\nimport { fart, puk } from '../app-helper';\r\n\r\nexport const TAG_NVA = \"ADFS\"\r\nexport const TAG_GOOGLE = \"GOOGLE\"\r\n\r\n\r\n\r\nconst A_PAR_RESPONSE_TYPE = \"code\" ; \r\nconst A_PAR_RESPONSE_GRANT_TYPE = \"authorization_code\" ; \r\n\r\nconst A_ACCES_TOKEN_KEY = \"access_token\";\r\nconst A_ID_TOKEN_KEY = \"id_token\";\r\n\r\nconst A_PAR_WA = \"wsignout1.0\" ;\r\n\r\nconst POPUP_WIN_PARS = \"location=no,width=600,height=600,scrollbars=yes,top=100,left=700,resizable = no\";\r\nconst POPUP_WIN_NAME = \"LoginPopUp\";\r\n\r\n\r\n//kill\r\n//const A_PAR_RES = \"https://sqlback-win12.nvavia.ru/FsCsweb\" ;\r\n//const A_PAR_REDIR = \"http://localhost:4200/Auth\" ;\r\n\r\n\r\n//const A_PAR_WA = \"wsignout1.0\" ;\r\n//const A_PAR_LO_REDIR = \"{http://localhost:4200/Auth}\" ;\r\n\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n private myLocation: string ; \r\n\r\n constructor(\r\n private store: Store,\r\n private http: Http,\r\n private settings: AppSettingsService,\r\n private router:Router,\r\n @Inject(\"windowObject\") private window: Window\r\n ) { \r\n this.myLocation = window.location.origin+'/' ; \r\n }\r\n\r\n\r\n // 071119 \r\n //Clear release method //////////////////////////////////////////////////////////////////////////// \r\n \r\n /*\r\n * Login to ..\r\n * return action for dispatching \r\n * Recomended LoginByReq 240720\r\n */ \r\n public Login = (timeOutSec:number) => merge(\r\n this.store.select( fromSelectors.authIsTag(TAG_GOOGLE)).pipe( filter( x => x ) , mapTo(this.LoginGoogle$(timeOutSec))) ,\r\n this.store.select( fromSelectors.authIsTag(TAG_NVA)).pipe(filter( x => x ), mapTo(this.LoginFS3$(timeOutSec))) \r\n ).pipe(\r\n tap(x => console.log(x)), \r\n take(1),\r\n mergeMap( x => x )\r\n ); \r\n\r\n // public Login = (timeOutSec:number) => merge(\r\n // this.store.select( fromSelectors.authIsTag(TAG_GOOGLE)).pipe(\r\n // merge( fromSelectors.authIsTag(TAG_NVA) ),\r\n // take(1),\r\n // mergeMap( x => x ? this.LoginGoogle$(timeOutSec) : this.LoginFS3$(timeOutSec) )\r\n // ); \r\n\r\n /*\r\n * Login by request to ..\r\n * return action for dispatching \r\n */ \r\n public LoginByReq = ( logRequest:authingReqData ,timeOutSec:number ) => \r\n of(logRequest).pipe(\r\n //tap(x => console.log(x)),\r\n mapTo( logRequest.tag ), \r\n mergeMap( x => \r\n (x == TAG_GOOGLE)\r\n ? this.LoginGoogle$(timeOutSec)\r\n : x == TAG_NVA \r\n ? this.LoginFS3$(timeOutSec)\r\n : of( new ErrorEnvironment( \"Неподдерживаемый тип аутентификации : [\" + x + \"]\" ))\r\n ) \r\n );\r\n \r\n\r\n \r\n \r\n /*\r\n * Request Auth token after auth-code request from back (ADFS AND GOOGLE) \r\n * return action for dispatching \r\n */ \r\n public authToken$() {\r\n const pars$ = this.store.select( fromSelectors.selEnvAuthCode ).pipe(\r\n combineLatest( this.settings.getSettings() , (aCode,s) => ({ code:aCode , setting :s }) ),\r\n combineLatest( of(this.myLocation) , (x ,loc) => ({...x , myLoc:loc })),\r\n combineLatest( this.store.select( fromSelectors.selEnvAuthTag ) , (x , tag) => ({...x , tag: tag ? tag :TAG_NVA })),\r\n map( x => new URLSearchParams([\r\n [\"grant_type\" ,A_PAR_RESPONSE_GRANT_TYPE ],\r\n [\"client_id\" ,x.tag==TAG_GOOGLE ? x.setting.auth2ClientId_Google : x.setting.auth2ClientId],\r\n [\"redirect_uri\" ,x.myLoc+x.setting.auth2LoginRedirectSuffix],\r\n [\"code\" ,x.code],\r\n [\"tag\" ,x.tag ]])), \r\n take(1) \r\n )\r\n\r\n const myHeaders = new Headers();\r\n myHeaders.append('Content-Type', 'application/x-www-form-urlencoded') ;\r\n const myOption = new RequestOptions( {headers:myHeaders } ) \r\n \r\n return pars$.pipe(\r\n combineLatest( this.settings.getSettings(), ( x, y ) => ({ bodyPars:x , uri: ( y.svcFasadeUri +'/' + y.auth2RequestTokenSuffix) }) ),\r\n mergeMap( x => this.http.post( x.uri, x.bodyPars.toString() , myOption )),\r\n map(x => x.text()),\r\n map(x => x.trim()===\"\"? {}: JSON.parse(x) ),\r\n map(x => x && ( x.hasOwnProperty(A_ACCES_TOKEN_KEY) || x.hasOwnProperty(A_ID_TOKEN_KEY ))\r\n ? new AuthTokenReceived( \r\n x.hasOwnProperty(A_ACCES_TOKEN_KEY) ? x[A_ACCES_TOKEN_KEY] : undefined , \r\n x.hasOwnProperty(A_ID_TOKEN_KEY) ? x[A_ID_TOKEN_KEY] : undefined \r\n )\r\n : new ErrorEnvironment(\"Не смог получить JWT\") )\r\n )\r\n } \r\n\r\n /*\r\n * Login to ..\r\n * return action for dispatching \r\n */ \r\n public Logout = (timeOutSec:number) => \r\n this.store.select( fromSelectors.authIsTag(TAG_GOOGLE)).pipe(\r\n take(1),\r\n //tap(x => console.log( ' ig G ' + x )),\r\n //mergeMap( x => x ? this.LogoutGoogleUri$() : this.LogoutFS3Uri$() ),\r\n mergeMap( x => x ? of(new AuthLogoutSucess()) : this.LogoutProcess$( this.LogoutFS3Uri$(), timeOutSec ) )\r\n );\r\n //loUri$.subscribe(console.log); \r\n //return this.LogoutProcess$( loUri$, timeOutSec );\r\n \r\n\r\n /* \r\n * get uri with pars Logout from ADFS 3.0 (OAuth2) and wait responce\r\n * return action for dispatching \r\n */ \r\n private LogoutFS3Uri$ = () => \r\n of(this.myLocation).pipe(\r\n combineLatest(this.settings.getSettings() , (l,s) => ({ \r\n set:s,\r\n pars: (new URLSearchParams([ \r\n [\"wa\" , A_PAR_WA],\r\n [\"wtrealm\" , l ],\r\n [\"wreply\" , l+s.auth2LoginRedirectSuffix] ] ))\r\n })\r\n ),\r\n map( x => x.set.auth2LogoutEndPoint + '?' + x.pars.toString()) , \r\n take(1),\r\n //tap(console.log),\r\n ); \r\n\r\n /* \r\n * get uri with pars Logout from ADFS 3.0 (OAuth2) and wait responce\r\n * return action for dispatching \r\n */ \r\n private LogoutGoogleUri$ = () => \r\n this.settings.getSettings().pipe(\r\n map(x=>x.auth2LogoutEndPoint_Google) \r\n ); \r\n\r\n /* \r\n * Logout process\r\n * return action for dispatching \r\n */ \r\n private LogoutProcess$ ( uri$:Observable, timeOutSec:number) {\r\n const closeIf = ( x:Window) => { try { x.close() ; return true } catch (e) { return false ; } };\r\n return of(this.window).pipe(\r\n combineLatest( uri$ , (w,uri) => w.open( uri, POPUP_WIN_NAME , POPUP_WIN_PARS )),\r\n //tap(x=>console.log('wwww')),\r\n combineLatest( timer (1000, 1000) , (x,y) => x ),\r\n take(1),\r\n //take(timeOutSec?1:timeOutSec),\r\n tap( closeIf ),\r\n //tap(x=>console.log('wwwww')),\r\n map( x => new AuthLogoutSucess() )\r\n ); \r\n } \r\n\r\n /*\r\n * Login to ADFS 3.0 (OAuth2) and wait responce\r\n * return action for dispatching \r\n */ \r\n private LoginFS3$(timeOutSec:number){\r\n const uriAndParams$ = of(this.myLocation).pipe(\r\n combineLatest( this.settings.getSettings() , (l,s) => ({ myLoc:l , setting :s }) ),\r\n map( x => new URLSearchParams([\r\n [\"response_type\",A_PAR_RESPONSE_TYPE],\r\n [\"client_id\" ,x.setting.auth2ClientId],\r\n [\"resource\" ,x.setting.auth2resource],\r\n [\"redirect_uri\" ,x.myLoc+x.setting.auth2LoginRedirectSuffix]])) , \r\n combineLatest( this.settings.getSettings() , (pars,st) => st.auth2AuthEndPoint + '?' + pars.toString() ) \r\n );\r\n //console.log('call FS !'); \r\n return this.loginProcess$( uriAndParams$, timeOutSec ) ;\r\n } \r\n\r\n /*\r\n * Login to Google+\r\n * return action for dispatching \r\n */ \r\n private LoginGoogle$(timeOutSec:number){\r\n //const uriAndParams$ = of(this.myLocation).pipe(\r\n const uriAndParams$ = of(this.window.location.origin+'/').pipe(\r\n //tap(x=>console.log(this.window.location)),\r\n combineLatest( this.settings.getSettings() , (l,s) => ({ myLoc:l , setting :s }) ),\r\n map( x => new URLSearchParams([\r\n [\"response_type\",A_PAR_RESPONSE_TYPE ],\r\n [\"client_id\" ,x.setting.auth2ClientId_Google],\r\n [\"scope\" ,x.setting.auth2Scope_Google],\r\n [\"redirect_uri\" ,x.myLoc+x.setting.auth2LoginRedirectSuffix]])), \r\n combineLatest( this.settings.getSettings() , (pars,st) => st.auth2AuthEndPoint_Google + '?' + pars.toString() ) \r\n );\r\n //console.log('call G !');\r\n return this.loginProcess$( uriAndParams$, timeOutSec ) ;\r\n }\r\n\r\n /*\r\n * Proccess auth-code request\r\n */ \r\n private loginProcess$( uri$ :Observable , timeOutSec:number) {\r\n // try-catch wraps\r\n const isHerfReadingAndstartsWith = ( w:Window, herf:string ) => { try { return w.location.href.startsWith(herf) } catch (e) { return false } }\r\n const isHerfReadingAndClosed = ( w:Window) => { try { return w.closed } catch (e) { return false } }\r\n\r\n const parseLoginResult = (w:Window, herf:string ) =>{\r\n const rPar = ( url:string, par:string ) => new URL(url).searchParams.get(par) ; \r\n const closeIf = ( x:Window) => { try { x.close() ; return true } catch (e) { return false ; } }\r\n //console.log(w);\r\n var retAct = isHerfReadingAndstartsWith(w,herf) \r\n ? rPar( w.location.href ,'code') \r\n ? new AuthSuccess( rPar( w.location.href ,'code') ) \r\n : new ErrorEnvironment( rPar( w.location.href ,'error') ? rPar( w.location.href ,'error'): \"Unknown error\" )\r\n : new ErrorEnvironment( \"Unknown error\" )\r\n closeIf(w) ; \r\n return retAct;\r\n } \r\n //console.log('call!');\r\n return of(this.window).pipe(\r\n //tap(x=>console.log(\"lg\"+x)), \r\n combineLatest( uri$ , (w,u)=> ({ \r\n popup: w.open( u, POPUP_WIN_NAME , POPUP_WIN_PARS ), \r\n myLoc: w.location.origin // 280720 манки дебаг было w.location.href \r\n })),\r\n combineLatest( timer (1000, 1000) , (x,y) => x ), \r\n take(timeOutSec) , // timeout sec\r\n //tap(console.log),\r\n filter( x => ! x.popup || isHerfReadingAndClosed(x.popup) || isHerfReadingAndstartsWith(x.popup, x.myLoc) ), \r\n take(1), \r\n //tap(x => console.log(x)),\r\n map( x => parseLoginResult(x.popup, x.myLoc) )\r\n ); \r\n } \r\n\r\n\r\n /* \r\n * Logout to ADFS 3.0 (OAuth2) and wait responce\r\n * return action for dispatching \r\n */ \r\n // public LogoutFS3$(timeOutSec:number){ \r\n // const uri$ = of(this.window.location.href).pipe(\r\n // combineLatest(this.settings.getSettings() , (l,s) => ({ \r\n // set:s,\r\n // pars: new URLSearchParams([ \r\n // [\"wa\" , A_PAR_WA],\r\n // [\"wtrealm\" , l ],\r\n // [\"wreply\" , l+s.auth2LoginRedirectSuffix] ] )\r\n // })\r\n // ),\r\n // map( x => x.set.auth2LogoutEndPoint + '?' + x.pars.toString()) \r\n // ); \r\n\r\n // //const isHerfReadingAndClosed = ( w:Window) => { try { return w.closed } catch (e) { return false } }\r\n\r\n // return of(this.window).pipe(\r\n // combineLatest( uri$ , (w,uri) => w.open( uri, POPUP_WIN_NAME , POPUP_WIN_PARS )),\r\n // //combineLatest( timer (1000, 1000) , (x,y) => x ), \r\n // //take(timeOutSec)\r\n // //tap(console.log),\r\n // map( x => new AuthLogoutSucess() )\r\n // ) \r\n // } \r\n\r\n // /*\r\n // * Build parameters for Login on ADFS (OAuth2)\r\n // */ \r\n // private LoginFS3RequestParams$ = \r\n // of(this.window.location.href).pipe(\r\n // combineLatest( this.settings.getSettings() , (l,s) => ({ myLoc:l , setting :s }) ),\r\n // map( x => new URLSearchParams([\r\n // [\"response_type\",A_PAR_RESPONSE_TYPE],\r\n // [\"client_id\" ,x.setting.auth2ClientId],\r\n // [\"resource\" ,x.setting.auth2resource],\r\n // [\"redirect_uri\" ,x.myLoc+x.setting.auth2LoginRedirectSuffix]])) \r\n // )\r\n\r\n // /*\r\n // * Build Login URI with parameters on ADFS (OAuth2)\r\n // */ \r\n // private LoginFS3RequestUri$ = \r\n // this.LoginFS3RequestParams$.pipe( \r\n // combineLatest( this.settings.getSettings() , (pars,st) => st.auth2AuthEndPoint + '?' + pars.toString() )\r\n // ) \r\n \r\n \r\n // /*\r\n // * Login to ADFS 3.0 (OAuth2) and wait responce\r\n // * return action for dispatching \r\n // */ \r\n // public LoginFS3Old$(timeOutSec:number){\r\n\r\n // const isHerfReadingAndstartsWith = ( w:Window, herf:string ) => { try { return w.location.href.startsWith(herf) } catch (e) { return false } }\r\n // const isHerfReadingAndClosed = ( w:Window) => { try { return w.closed } catch (e) { return false } }\r\n\r\n // const parseLoginResult = (w:Window, herf:string ) =>{\r\n // const rPar = ( url:string, par:string ) => new URL(url).searchParams.get(par) ; \r\n // const closeIf = ( x:Window) => { try { x.close() ; return true } catch (e) { return false ; } }\r\n // var retAct = isHerfReadingAndstartsWith(w,herf) \r\n // ? rPar( w.location.href ,'code') \r\n // ? new AuthSuccess( rPar( w.location.href ,'code') ) \r\n // : new ErrorEnvironment( rPar( w.location.href ,'error') ? rPar( w.location.href ,'error'): \"Unknown error\" )\r\n // : new ErrorEnvironment( \"Unknown error\" )\r\n // closeIf(w) ; \r\n // return retAct;\r\n // } \r\n // return of(this.window).pipe(\r\n // combineLatest( this.LoginFS3RequestUri$ , (w,u)=> ({ \r\n // popup: w.open( u, 'hoy' , \"width=400,height=400\" ), \r\n // myLoc: w.location.href\r\n // })),\r\n // combineLatest( timer (1000, 1000) , (x,y) => x ), \r\n // take(timeOutSec) , // timeout sec\r\n // //tap(console.log),\r\n // filter( x => ! x.popup || isHerfReadingAndClosed(x.popup) || isHerfReadingAndstartsWith(x.popup, x.myLoc) ), \r\n // take(1),\r\n // map( x => parseLoginResult(x.popup, x.myLoc) )\r\n // ) \r\n // }\r\n \r\n \r\n \r\n\r\n /*\r\n * Build parameters for request JWT token from bakend proxy \r\n */ \r\n private authTokenRequestParams$ = \r\n this.store.select( fromSelectors.selEnvAuthCode ).pipe(\r\n combineLatest( this.settings.getSettings() , (aCode,s) => ({ code:aCode , setting :s }) ),\r\n combineLatest( of(this.myLocation) , (x ,loc) => ({...x , myLoc:loc })),\r\n map( x => new URLSearchParams([\r\n [\"grant_type\" ,A_PAR_RESPONSE_GRANT_TYPE ],\r\n [\"client_id\" ,x.setting.auth2ClientId],\r\n [\"redirect_uri\" ,x.myLoc+x.setting.auth2LoginRedirectSuffix],\r\n [\"code\" ,x.code] ])) \r\n )\r\n \r\n\r\n /*\r\n * Request JWT token from bakend proxy\r\n * return action for dispatching \r\n */ \r\n // public authTokenRequest$() {\r\n\r\n // const myHeaders = new Headers();\r\n // myHeaders.append('Content-Type', 'application/x-www-form-urlencoded') ;\r\n // const myOption = new RequestOptions( {headers:myHeaders } ) \r\n\r\n // return this.authTokenRequestParams$.pipe(\r\n // combineLatest( this.settings.getSettings(), ( x, y ) => ({ bodyPars:x , uri: ( y.svcFasadeUri +'/' + y.auth2RequestTokenSuffix) }) ),\r\n // mergeMap( x => this.http.post( x.uri, x.bodyPars.toString() , myOption )),\r\n // map(x => x.text()),\r\n // map(x => x.trim()===\"\"? {}: JSON.parse(x) ),\r\n // map(x => x && x.hasOwnProperty(A_ACCES_TOKEN_KEY) ? new AuthTokenReceived(x[A_ACCES_TOKEN_KEY]) : new ErrorEnvironment(\"Не смог получить JWT\") )\r\n // )\r\n // } \r\n\r\n /// logout -----------------------------\r\n\r\n\r\n /////////////////////////////////////////////////////////////////////////////////////////////////// \r\n // public FsLogin = () =>\r\n // of(this.window).pipe(\r\n // combineLatest( this.getFSAuthCodeUri() , (w,u)=> w.open( u, 'hoy' , \"width=200,height=200\" ) ), \r\n // combineLatest( timer(1000, 1000) , (x,y) => x ), \r\n // take(5), // увеличить lj dhtvtyb nfqvfenf\r\n // tap(console.log), \r\n // takeLast(1),\r\n // map(( x:Window) => x.close() ),\r\n // map(x=> 'хуя')\r\n\r\n // ) \r\n \r\n\r\n\r\n // private buildAuthReguest ( authUrl:string , clientId:string ) { \r\n // const authParams = {\r\n // \"response_type\":A_PAR_RESPONSE_TYPE, \r\n // \"client_id\":clientId,\r\n // \"resource\":A_PAR_RES,\r\n // \"redirect_uri\":A_PAR_REDIR\r\n // }\r\n // //const myHeaders = new Headers();\r\n // // myHeaders.append('Access-Control-Allow-Origin', '*');\r\n // // myHeaders.append('Access-Control-Allow-Credentials', 'true');\r\n // // myHeaders.append('Content-Type', 'application/json') ;\r\n \r\n // const myOption = new RequestOptions( {headers:new Headers() });\r\n // //const myParams = new URLSearchParams(authParams);\r\n // //const myOption = new RequestOptions( {headers:myHeaders });\r\n // //const myOption = new RequestOptions( {headers:myHeaders ,params: myParams});\r\n // return of(authUrl)\r\n // .pipe( \r\n // map (x => x + Object.keys(authParams).reduce( ( (a,n) => a + n + '=' + authParams[n] + '&' ),'?' ) ),\r\n // //tap(console.log)\r\n // );\r\n // }\r\n\r\n\r\n // //ебля с постом\r\n // // private sendAuthReguestAsPost ( authUrl:string , clientId:string ) { \r\n\r\n // // const buildBodyPars = ( ) =>\r\n // // new URLSearchParams([\r\n // // [ \"response_type\",\"A_PAR_RESPONSE_TYPE\" ],\r\n // // [ \"client_id\", clientId ],\r\n // // [ \"resource\",A_PAR_RES ],\r\n // // [ \"redirect_uri\",A_PAR_REDIR ],\r\n // // ]);\r\n\r\n \r\n // // const myHeaders = new Headers();\r\n // // myHeaders.append('Content-Type', 'application/x-www-form-urlencoded') ;\r\n\r\n // // const myOption = new RequestOptions( {headers:myHeaders } ) \r\n\r\n // // return this.http.post(authUrl , buildBodyPars().toString() , myOption );\r\n // // }\r\n\r\n \r\n // private buildLogoutReq ( logoutUrl:string ) { \r\n // const authParams = {\r\n // \"wa\":A_PAR_WA, \r\n // \"wtrealm\": \"http://localhost:4200\",\r\n // \"wreply\":A_PAR_LO_REDIR \r\n // }\r\n // return of(logoutUrl)\r\n // .pipe( \r\n // map (x => x + Object.keys(authParams).reduce( ( (a,n) => a + n + '=' + authParams[n] + '&' ),'?' ) ),\r\n // tap(console.log)\r\n // );\r\n // }\r\n \r\n // public getFSAuthCodeUri() {\r\n // return this.settings.getSettings().pipe(\r\n // //tap(console.log),\r\n // mergeMap( x => this.buildAuthReguest(x.auth2AuthEndPoint,x.auth2ClientId ) ),\r\n // //tap(x => ) \r\n // //mergeMap( x => this.http.get(x)) \r\n \r\n // //mergeMap( x => this.sendAuthReguestAsPost(x.auth2AuthEndPoint,x.auth2ClientId ) ),\r\n // //tap(console.log)\r\n // );\r\n // }\r\n\r\n // public getFSLogoutUri() {\r\n // return this.settings.getSettings().pipe(\r\n // tap(console.log),\r\n // mergeMap( x => this.buildLogoutReq(x.auth2LogoutEndPoint) ),\r\n // tap(console.log)\r\n // );\r\n // } \r\n\r\n // public authTokenRequest() {\r\n // const buildBodyPars = (code:string, clientId:string ) =>\r\n // new URLSearchParams([\r\n // [ \"grant_type\",\"authorization_code\" ],\r\n // [ \"client_id\", clientId ],\r\n // [ \"redirect_uri\",A_PAR_REDIR ],\r\n // [ \"code\",code ],\r\n // ]);\r\n\r\n // const myHeaders = new Headers();\r\n // myHeaders.append('Content-Type', 'application/x-www-form-urlencoded') ;\r\n\r\n // const myOption = new RequestOptions( {headers:myHeaders } ) \r\n\r\n // return this.store.select( fromSelectors.selEnvAuthCode ).pipe( \r\n // take(1),\r\n // combineLatest( this.settings.getSettings(), ( x, y ) => ({code:x , cliId:y.auth2ClientId, uri:y.auth2TokenndPoint }) ),\r\n // //map( x => ( buildBodyPars(x.code,x.cliId))),\r\n // mergeMap( x => this.http.post( x.uri, buildBodyPars(x.code,x.cliId).toString() , myOption ) ) ,\r\n // map(x => x.text()),\r\n // map(x => x.trim()===\"\"? {}: JSON.parse(x) ),\r\n // map(x => x && x.hasOwnProperty(A_ACCES_TOKEN_KEY) ? x[A_ACCES_TOKEN_KEY] : 'ВАМХУЯ' )\r\n // ) \r\n // } \r\n\r\n\r\n // public authTokenRequestFromBack() {\r\n // const buildBodyPars = (code:string, clientId:string ) =>\r\n // new URLSearchParams([\r\n // [ \"grant_type\",\"authorization_code\" ],\r\n // [ \"client_id\", clientId ],\r\n // [ \"redirect_uri\",A_PAR_REDIR ],\r\n // [ \"code\",code ],\r\n // ]);\r\n\r\n // const myHeaders = new Headers();\r\n // myHeaders.append('Content-Type', 'application/x-www-form-urlencoded') ;\r\n\r\n // const myOption = new RequestOptions( {headers:myHeaders } ) \r\n\r\n // return this.store.select( fromSelectors.selEnvAuthCode ).pipe( \r\n // take(1),\r\n // combineLatest( this.settings.getSettings(), ( x, y ) => ({code:x , cliId:y.auth2ClientId, uri:y.auth2TokenndPoint }) ),\r\n // //map( x => ( buildBodyPars(x.code,x.cliId))),\r\n // mergeMap( x => this.http.post( x.uri, buildBodyPars(x.code,x.cliId).toString() , myOption ) ) \r\n // ) \r\n // } \r\n\r\n\r\n\r\n }\r\n ","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { BackICommonError, BackICommonErrorEx } from '@appModels/any-entity';\nimport { of, Observable } from 'rxjs';\nimport { ErrorAnyEntity } from '@appStore/actions/any-entity.actions';\nimport { combineLatest, map, switchMap, mergeMap, tap, take } from 'rxjs/operators';\n\n\n\n/**\n* BACK - SEPTOR Error Handler \n*/\n\n\nconst isBackICommonError = (x:any) => \n x &&\n x.hasOwnProperty('Name') &&\n x.hasOwnProperty('Message') &&\n x.hasOwnProperty('Code') &&\n x.hasOwnProperty('Data') ;\n\nconst isJSMessageError = (x:any) => \n x &&\n x.hasOwnProperty('message') &&\n x.hasOwnProperty('stack') \n\nconst unknownError = (data:any) =>({\n Name:\"Ошибка\", \n Message: \"Неизвестная ошибка\",\n Code:0,\n StatusCode:0,\n Data:data \n});\n\nconst newErrorId = () => `err${(+new Date).toString(16)}`\n\ninterface buildErr{\n val:any \n error:BackICommonError\n}\n\n\n/**\n * BuildError monad \n */\nexport class errBuilder {\n static of = (x:any) => new errBuilder({val:x, error:null })\n static error = (x:BackICommonError) => new errBuilder({val:null, error:x })\n\n private constructor(public data:buildErr) { }\n\n public bind:((f:((data:any) => errBuilder)) => errBuilder ) = (f) => this.data.error ? this : f(this.data.val) ;\n\n public map = (f:((x:any)=>any )) => this.bind( y => errBuilder.of( f(y)) ); \n public tap = (f:((x:any)=>any )) => { f(this.data.error?this.data.error:this.data.val ); return this;} \n\n public toError = ( defError:BackICommonError ) => this.data.error ? this.data.error : defError ;\n public ifError = (f:( (x:any)=>boolean )) => this.bind( y => f(y) ? errBuilder.error(y) : errBuilder.of(y) ); \n public ifMap = (fCheck:( (x:any)=>boolean ), fmap:( (x:any)=>BackICommonError ) ) => this.bind( y => fCheck(y) ? errBuilder.error(fmap(y)) : errBuilder.of(y) ); \n\n \n} \n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class BackProvService {\n\n constructor( private store: Store) { }\n\n /**\n * parse Error from CRUD Back responce\n */\n private backErrorHandler:( (responce:Response) => BackICommonError ) = (responce) => \n errBuilder\n .of(responce)\n .ifError( x => isBackICommonError(x) )\n .map( x => x&&x.hasOwnProperty('_body') ? JSON.parse(x['_body']) : x )\n .ifError( x => isBackICommonError(x) )\n .ifMap(isJSMessageError, x => ({ \n Name: x.message, \n Message: x.stack,\n Code:0,\n StatusCode:0,\n Data:x \n })\n )\n .toError(unknownError(responce))\n\n /**\n * Convert error responce to Error Entity action\n */ \n public actionErrorfromResponse$ = (responce:Response) => \n this.errorPreHandler$(this.backErrorHandler(responce)).pipe(\n map( x => new ErrorAnyEntity(x) ) , \n )\n\n /**\n * Convert error responce to Error Entity action\n */ \n public actionErrorfromAny$ = (responce:any) => this.actionErrorfromResponse$(responce).pipe(tap(x=>console.log(x))) ;\n\n\n /**\n * Convert error responce to Error Entity action\n */ \n public actionErrorfromCatch$ = (error:any) => this.actionErrorfromResponse$(error).pipe(tap(x=>console.log(x))) ;\n // of(error).pipe(\n // tap( x => console.log(x) ),\n // map( x => new ErrorAnyEntity(x ) )\n // )\n \n\n\n /**\n * Convert error responce to Error Entity action as Value\n */ \n // public actionErrorfromResponse = (responce:Response) => {\n // this.actionErrorfromResponse$(responce).pipe(\n // take(1)\n // ).subscribe( ) \n\n // }\n \n\n\n /**\n * Error pre handler\n */ \n private errorPreHandler$:((err:BackICommonError) => Observable ) = (err) => \n this.isErrorRetriable$(err).pipe(\n map( x => ({...err , Id:newErrorId() , Retriable:x }))\n )\n\n /**\n * Check is error retryable\n */ \n private isErrorRetriable$ = (err:BackICommonError) => of( !!(err.StatusCode == 500 ))\n\n\n \n \n}\n","import { Injectable } from '@angular/core';\n\nimport { Http, RequestOptions , Headers, Response} from '@angular/http';\nimport { map, mergeMap, tap, combineLatest, last, take, takeLast, retry, catchError } from 'rxjs/operators';\n\nimport { AppSettingsService } from './app-setting.service';\nimport { AppSettings } from '../app-setting';\nimport { of } from 'rxjs';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { Store } from '@ngrx/store';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\n\n\n/**\n * Low level data provider (Very oldest)\n * Build of 051218\n */\n\nconst MODULE_NAME = 'John Galon';\nconst COMPONENT_NAME = 'DataProvider';\n\nconst FK_MACRO_BEGIN = \"{\"; // backend macros tags\nconst FK_MACRO_END = \"}\";\n\nconst log = (msg:any) => ( console.log(\"[\"+MODULE_NAME+\"]\"+\"[\"+COMPONENT_NAME+\"] \" + msg ) );\n\nenum RequestType { Ordinary, Metadata, Template } ;\n\n\n@Injectable()\nexport class DataProvService {\n constructor(\n private http: Http,\n private httpCli: HttpClient,\n private settings: AppSettingsService,\n private store: Store, // Add interseption auth header\n\n ) { \n settings.getSettings().subscribe( x =>log( \"Service activated with location :) \"+ x.svcFasadeUri ));\n }\n\n \n //FASADE\n /**\n * Return main data as iterable by http-service sublocation\n */ \n public list( location:string ){ \n return this.data(location)\n .pipe( \n map(x => {\n var r = x;\n return (r === null) ? [] : r; \n })\n ); \n } \n\n /**\n * Return any data from http-service as JSON (Legasy)\n * New release method get \n */ \n public data( loc:string , subloc:string = undefined , isMetadata = false ) {\n //this.buildDataUri(loc, subloc, isMetadata) \n return this.buildDataUri_v2(loc, subloc, isMetadata ? RequestType.Metadata : RequestType.Ordinary )\n .pipe(\n mergeMap( x => this.getDataFromUri( x )),\n map(x => x.trim()===\"\"? {}: JSON.parse(x) )\n ); \n }\n \n /**\n * New Fasade. Above Legasy.\n */ \n //public metadata$ = (loc:string , subloc:string = undefined ) => this.getCli(loc, subloc, RequestType.Metadata ); \n public metadata$ = (loc:string , subloc:string = undefined ) => this.get(loc, subloc, RequestType.Metadata );\n public template$ = (loc:string , subloc:string = undefined ) => this.get(loc, subloc, RequestType.Template );\n public item$ = (loc:string , subloc:string = undefined ) => this.get(loc, subloc);\n public items$ = (loc:string , subloc:string = undefined ) => this.get(loc, subloc).pipe(map(x => ( x === null) ? [] :x ));\n \n public insert = (loc:string , data:any ) => this.post(loc, undefined, data); //.subscribe(x => console.log(x) );\n public update = (loc:string , data:any ) => this.put(loc, undefined, data); //.subscribe(x => console.log(x) );\n\n\n \n\n\n //FASADE END\n\n // Build Auth Options //ToDO:\n private buildOption = (authKey:string ) => new RequestOptions({ headers:new Headers( authKey?{'Authorization':authKey }:{} ), responseType:0 })\n\n /// Rebuild 211019 with Auth\n /**\n * 301018 \n * Get data from http-service as JSON (new release data method)\n */ \n private getDataFromUriLegasy = (uri: string) => this.http.get(uri).pipe(map(rsp => rsp.text())); \n\n private getDataFromUri = (uri: string) => this.store.select( fromSelectors.selEnvAuthHeader ).pipe( \n take(1),\n //tap(console.log),\n map(this.buildOption),\n //tap(console.log) ,\n mergeMap(x => this.http.get(uri,x).pipe(\n //tap( x => console.log(x)),\n map(rsp => rsp.text())\n // ,catchError(error => \n // of(error).pipe(\n // tap( x => console.log(x)),\n // tap( x => console.log(x.headers.get('content-length'))),\n // ))\n ))); \n\n // Rebuild HttpCilent \n private getDataFromUriCli = (uri: string) => this.store.select( fromSelectors.selEnvAuthHeader ).pipe( \n take(1),\n //tap(console.log),\n map(this.buildOption),\n //tap(console.log) ,\n mergeMap(x => this.httpCli.get>(uri, {observe: 'response'} ).pipe(\n tap( x => console.log( x ) ),\n tap( x => console.log( x.headers.get('prayer') )),\n map(rsp => rsp.body),\n tap( x => console.log(x)),\n catchError(error => \n of(error).pipe(\n tap( x => console.log(x)),\n tap( x => console.log(x.headers.get('content-length'))),\n ))\n ))); \n \n\n /**\n * 041219 \n * Send PUT any data to http-service as JSON \n */ \n private put = ( loc:string , subloc:string = undefined , data:any ) =>\n this.store.select( fromSelectors.selEnvAuthHeader ).pipe( \n take(1),\n //tap(x=>console.log('w :'+x)) ,\n map(this.buildOption),\n combineLatest( this.buildDataUri_v2(loc, subloc, RequestType.Ordinary ), (o,u) => ({opt:o, uri:u}) ),\n //tap(x=>console.log('w')) ,\n //tap(console.log) ,\n mergeMap( x => this.http.put( x.uri, data, x.opt ))\n ) \n\n\n \n /**\n * 301018 \n * Send any data to http-service as JSON (new release data method)\n */ \n private post = ( loc:string , subloc:string = undefined , data:any ) =>\n this.store.select( fromSelectors.selEnvAuthHeader ).pipe( \n take(1),\n //tap(x=>console.log('w :'+x)) ,\n map(this.buildOption),\n combineLatest( this.buildDataUri_v2(loc, subloc, RequestType.Ordinary ), (o,u) => ({opt:o, uri:u}) ),\n //tap(x=>console.log('w')) ,\n //tap(console.log) ,\n mergeMap( x => this.http.post( x.uri, data, x.opt ) ) \n ) \n\n // this.buildDataUri_v2(loc, subloc, RequestType.Ordinary )\n // .pipe( mergeMap( x => this.http.post( x, data ) ) ); \n\n private postLegasy = ( loc:string , subloc:string = undefined , data:any ) =>\n this.buildDataUri_v2(loc, subloc, RequestType.Ordinary )\n .pipe( mergeMap( x => this.http.post( x, data ) ) ); \n \n\n //ToDO:\n\n /**\n * Return any data from http-service as JSON (new release data method)\n */ \n private get = ( loc:string , subloc:string = undefined , type:RequestType = RequestType.Ordinary ) =>\n this.buildDataUri_v2(loc, subloc,type )\n .pipe(\n mergeMap( x => this.getDataFromUri( x )), \n //tap(x=>console.log(x) ), \n map(x => x.trim()===\"\"? {}: JSON.parse(x) ),\n //tap(x=>console.log(x) ) \n ) ; \n\n //140720\n private getCli = ( loc:string , subloc:string = undefined , type:RequestType = RequestType.Ordinary ) =>\n this.buildDataUri_v2(loc, subloc, type )\n .pipe(\n //mergeMap( x => this.getDataFromUri( x )), \n mergeMap( x => this.getDataFromUriCli(x)),\n tap(x=>console.log(x) ),\n map(x => !x ? {}: x ),\n tap(x=>console.log(x) )\n ) ; \n \n\n\n // Uri prepare tools -----------------------------------------------\n // Build service Uri for data ... or metadate \n private buildDataUri(loc:string , subloc:string, isMetadata = false) {\n const bldUriTail = ( fld?:string )=> (typeof fld === \"string\" && fld != \"\") ? (\"/\" + fld) : (\"\"); \n const stt$ = of(\"e\");\n const a$ = stt$.pipe( map( (x,y) => x ) )\n\n return this.settings.getSettings()\n .pipe(\n map(prs => this.prepareLocation( prs.svcFasadeUri, loc, isMetadata) // MergeMap\n + (isMetadata?prs.svcRestMetadataSuffix:\"\")\n + bldUriTail( subloc ) \n ));\n }\n\n private buildDataUri_v2(loc:string , subloc:string, reqType:RequestType ) {\n const bldUriTail = ( fld?:string )=> (typeof fld === \"string\" && fld != \"\") ? (\"/\" + fld) : (\"\"); \n const reqTypeToSuffix = (rt:RequestType, setting:AppSettings) => \n rt == RequestType.Metadata \n ? setting.svcRestMetadataSuffix\n : ( rt == RequestType.Template ? setting.svcRestRecTemplateSuffix : '' ) ;\n\n return this.settings.getSettings()\n .pipe(\n map(prs => \n this.prepareLocation( prs.svcFasadeUri, loc, (reqType == RequestType.Metadata ) ) // MergeMap\n + reqTypeToSuffix(reqType, prs)\n + bldUriTail( subloc ) \n )\n );\n }\n\n // В связи с использованием референсов на внешние сервисы необходимо парсить локатион\n private prepareLocation(baseSvcUrl:string, location: string, isCutTail: boolean = false) {\n function cutTail(l: string) {\n return l.indexOf(\"?\") >= 0 ? l.substring(0, l.indexOf(\"?\")) : l;\n }\n\n location = (isCutTail) ? cutTail(location) : location;\n var ret = \"\";\n if (location.startsWith(\"http://\")) { throw new Error(\"Not implement\"); }\n else if (location.startsWith(\"../\")) { throw new Error(\"Not implement\"); }\n else if (location.startsWith(\"./\")) { ret = baseSvcUrl + location.substr(1);}\n else { ret = baseSvcUrl + location; }\n return ret;\n }\n\n // Substract macros from location\n private getLocationMacros(location: string) {\n var recFun = (s: string, r: string[]) => {\n var bp = s.indexOf(FK_MACRO_BEGIN)\n if (bp > 0 && s.length > (bp+1) ) {\n var ss = s.substring(bp+1);\n var ep = ss.indexOf(FK_MACRO_END);\n if (ep > 0) {\n r.push(ss.substring(0, ep));\n r = recFun(ss.substring(ep), r);\n }\n }\n return r;\n }\n return recFun(location, []);\n }\n \n // Заполняет макросы Лукашина валуями\n private buildLocationWithMacrosValues(location: string, values: any[]) {\n var mcs = this.getLocationMacros(location);\n if (mcs.length > values.length) {\n throw Error(\"Can't aplay values '\" + values.toString() + \"' on Uri '\" + location+\"'\" )\n }\n var i = 0;\n for (let v of mcs) {\n location = location.replace(FK_MACRO_BEGIN + v + FK_MACRO_END, values[i]);\n i++;\n }\n return location;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\n//import { AnyEntityId } from '@appModels/any-entity';\n\nimport { anyEntityOptions, AnyEntityId, AnyEntity, IBackContextDescriptor, BackContextMode, IBackRecord, BackContextModeToStr } from \"@appModels/any-entity\";\nimport { combineLatest as combineLatestO, tap, filter, take, map, mergeMap, switchMap, takeLast, mergeAll, reduce, distinct, distinctUntilChanged, skipUntil, takeUntil, takeWhile, skipWhile, debounce, debounceTime } from 'rxjs/operators';\nimport { AddItem, Exec, ExecItemAction } from '@appStore/actions/any-entity-set.actions';\nimport { GetItemsPart, GetItems, GetItemsMeta, ChangeRowSeed, SetRowSeed, UpdateItem, anyEntityActions, GetTemplate } from '@appStore/actions/any-entity.actions';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Observable, of, combineLatest, merge, timer, from } from 'rxjs';\nimport { FormGroup } from '@angular/forms';\nimport { genRowTemplateByFldsDesc, getRowTemplateByFldsDesc } from '../question/adapters/question-adapt.helper';\nimport { Either, tMonad } from '@appModels/monad';\nimport { dataStore, selFieldDescribe } from '@appStore/selectors/index';\nimport { and } from '@angular/router/src/utils/collection';\nimport { AddItem as AddItemEntity } from '@appStore/actions/any-entity.actions';\nimport { FieldDescribe, FieldDescribes } from '@appModels/metadata';\n\ninterface jnForm { questions:any, formGroup:FormGroup} ;\n\n\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n/*\n* Взаимодействие мода IBackContextDescriptor-а со стором\n*/\ninterface IBackContextModeDescriptor {\n mode:BackContextMode,\n loadAct: (x:IBackContextDescriptor) => anyEntityActions,\n isLoaded$: (x:IBackContextDescriptor,store:Store) => Observable\n isLoading$: (x:IBackContextDescriptor,store:Store) => Observable\n isError$:(x:IBackContextDescriptor,store:Store) => Observable\n //isFixError$:(x:IBackContextDescriptor,store:Store) => Observable\n};\n\n\n/*\n* Джентельменский набор флагов ожиданий для контекста загрузки\n*/\ninterface IBackContexState{\n data:IBackContextDescriptor\n loading:boolean, \n loaded:boolean, \n authing:boolean,\n authed:boolean,\n error:boolean,\n }\n\n\nconst toBackContexState = (d:IBackContextDescriptor,ling:boolean,led:boolean,aing:boolean,aed:boolean ,err:boolean ) =>\n ({data:d, loading:ling, loaded:led,authing:aing,authed:aed, error:err })\n\nconst toDsc = ( \n m:BackContextMode, \n fa1: (x:IBackContextDescriptor) => anyEntityActions, \n fa2: (x:IBackContextDescriptor,store:Store) => Observable ,\n fa3: (x:IBackContextDescriptor,store:Store) => Observable ,\n fa4: (x:IBackContextDescriptor,store:Store) => Observable ,\n\n) => ({mode: m, loadAct: fa1, isLoaded$: fa2, isLoading$:fa3, isError$ :fa4 }) ;\n\n/*\n* IBackContextModeDescriptor конфигурация \n*/\nconst modeDescriptorSet:IBackContextModeDescriptor[] = [\n toDsc( BackContextMode.Data, \n (x) => new GetItems(null) , \n (d,s) => s.select( fromSelectors.selectIsDataLoaded(d.context.options.name)), \n (d,s) => s.select( fromSelectors.selectIsDataLoading(d.context.options.name)), \n (d,s) => s.select( fromSelectors.selectEntityIsError(d.context.options.name)), \n ),\n toDsc( BackContextMode.Metadata, \n (x) => new GetItemsMeta() , \n (d,s) => s.select( fromSelectors.selectIsMetadataLoaded(d.context.options.name)),\n (d,s) => s.select( fromSelectors.selectIsMetaLoading(d.context.options.name)), \n (d,s) => s.select( fromSelectors.selectEntityIsError(d.context.options.name)),\n ),\n toDsc( BackContextMode.MetadataField, \n (x) => new GetItemsMeta() , \n (d,s) => s.select( fromSelectors.selectIsMetadataLoaded(d.context.options.name)), \n (d,s) => s.select( fromSelectors.selectIsMetaLoading(d.context.options.name)), \n (d,s) => s.select( fromSelectors.selectEntityIsError(d.context.options.name)),\n ),\n toDsc( BackContextMode.Record, \n (x) => new GetItemsPart( x.context.options.location + x.context.options.selBack((>x.context).id )),\n (d,s) => s.select( fromSelectors.selectIsRowLoaded(d.context.options.name , (>d.context).id )),\n (d,s) => s.select( fromSelectors.selectIsDataLoading(d.context.options.name)), \n (d,s) => s.select( fromSelectors.selectEntityIsError(d.context.options.name)),\n ) \n] ;\n\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EntityProvService {\n\n constructor(private store: Store ,private sanitizer : DomSanitizer) { }\n\n /*\n * get stream with resolve data if need\n */\n public itemData$ = ( opt:anyEntityOptions , id:any ) =>\n this.store.select( fromSelectors.selectIsExist(opt.name)).pipe(\n tap( x => !x ? this.store.dispatch( new AddItem(opt)) : null ),\n filter( x => x ),\n tap( x => \n this.store.select( fromSelectors.selectById(opt.name,id)).pipe( take(1) )\n .subscribe(x => !!x ? null : this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new GetItemsPart(opt.location + opt.selBack(id)) }))) \n ),\n mergeMap( x => this.store.select( fromSelectors.selectById(opt.name,id)) )\n ) \n\n /*\n * get stream with resolve data if need as sanitizer img uri\n */\n public itemDataB64AsImg$ = ( opt:anyEntityOptions , id:AnyEntity, selF:((a:AnyEntity) => string ) ) =>\n this.sanifeImageBase64$(\n this.itemData$(opt,id).pipe(\n map(selF),\n ) \n )\n\n /*\n * get sanitizer img from base64 string\n */\n public sanifeImageBase64$ = ( imageB64:Observable ) =>\n imageB64.pipe(\n filter( x => !!x ),\n map( x => \"data:image/png;base64,\"+ x ),\n map( x => this.sanitizer.bypassSecurityTrustUrl(x)),\n\n //map( x => this.sanitizer.bypassSecurityTrustStyle(x) )\n //map( x => this.sanitizer.bypassSecurityTrustStyle(\"url('\"+ x +\"')\" ))\n ); \n\n /*\n * get all collection data \n */\n public collectionData$ = ( opt:anyEntityOptions ) =>\n this.store.select( fromSelectors.selectIsExist(opt.name)).pipe(\n tap( x => !x ? this.store.dispatch( new AddItem(opt)) : null ),\n filter( x => x ),\n tap( x => \n this.store.select( fromSelectors.selectIsDataLoaded(opt.name)).pipe(\n take(1)\n ).subscribe( x => !!x ? null : this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new GetItems(null) }))) \n ),\n mergeMap( x => this.store.select( fromSelectors.selectDataItems(opt.name)) )\n ) \n\n /*\n * prepare and get metadata \n */\n public metaData$ = ( opt:anyEntityOptions ) =>\n this.store.select( fromSelectors.selectIsExist(opt.name)).pipe(\n tap( x => !x ? this.store.dispatch( new AddItem(opt)) : null ),\n filter( x => x ),\n tap( x => \n this.store.select( fromSelectors.selectIsMetadataLoaded(opt.name)).pipe(\n //tap(x=>console.log(x)),\n take(1)\n ).subscribe( x => !!x ? null : this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new GetItemsMeta() }))) \n ),\n switchMap( x => this.store.select( fromSelectors.selectDataMetadata(opt.name)) ),\n //tap(x=>console.log(x) )\n ) \n\n /*\n * prepare and get controls\n */\n // public controls$ = ( opt:anyEntityOptions ,flds: string[], rowSeed: {} ) =>\n // this.store.select( fromSelectors.selectIsExist(opt.name)).pipe(\n // tap( x => !x ? this.store.dispatch( new AddItem(opt)) : null ),\n // filter( x => x ),\n // tap( x => \n // this.store.select( fromSelectors.selectIsMetadataLoaded(opt.name)).pipe(\n // take(1)\n // ).subscribe( x => !!x ? null : this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new GetItemsMeta() }))) \n // ),\n // switchMap( x => \n // this.store.select( fromSelectors.selFormControlsEx( opt.name, flds, rowSeed )).pipe(\n // filter(x=>!!x)\n // ) \n // ),\n // tap(x=>console.log(x) )\n // ) \n\n\n // private getFormControls$ = (id:string, flds:string[], iVal$:Observable<{}> ) =>\n // this.store.select( fromSelectors.selFormControlsEx$( id , flds, iVal$) ).pipe(\n // switchMap( x => x ) \n // ); \n\n /*\n * prepare and get controls for edit\n */\n public controlsForEdit$ = ( opt:anyEntityOptions ,id:any ,flds: string[] ) =>\n this.store.select( fromSelectors.selectIsExist(opt.name)).pipe(\n tap( x => !x ? this.store.dispatch( new AddItem(opt)) : null ),\n filter( x => x ),\n tap( x => \n this.store.select( fromSelectors.selectIsMetadataLoaded(opt.name)).pipe(\n take(1)\n ).subscribe( x => !!x ? null : this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new GetItemsMeta() }))) \n ),\n tap( x => this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new SetRowSeed(null) }) ) ),\n tap( x => \n this.itemData$( opt, id ).pipe(\n filter(x=>!!x)\n ).subscribe( x => {\n this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new SetRowSeed(x) }) ) ;\n }\n ) ),\n\n switchMap( x => \n this.store.select( \n fromSelectors.selFormControlsEx$( \n opt.name ,\n flds,\n this.store.select(fromSelectors.selRowSeed(opt.name)) \n )\n )\n .pipe(switchMap( x => x ))\n ) \n //switchMap( x => this.getFormControls$(opt.name, flds,this.store.select(fromSelectors.selRowSeed(opt.name) ) ) ),\n ) \n\n\n\n /*\n * prepare and get controls for edit and eject changes to rowseeed\n */ \n public controlsForEditEx$ = ( opt:anyEntityOptions ,id:any ,flds: string[] ) => \n this.controlsForEdit$(opt,id,flds).pipe(\n filter( x => x && x.formGroup != null ),\n tap( (x:jnForm) => x.formGroup.valueChanges.subscribe( x =>\n this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new ChangeRowSeed(x) }) )\n )\n )\n ) \n /**\n * Run update record (from rowseed) actions \n */\n public updateItemByRowSeed = ( opt:anyEntityOptions ) => \n this.store.select(fromSelectors.selRowSeed(opt.name)).pipe(take(1))\n .subscribe( x => {\n //console.log(x);\n this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new UpdateItem(x) }) )\n }\n );\n /*\n * prepare and get controls 2020 wo id (insert or edit?)\n * Не реализована поддержка подгрузки темплэйта новой записи TODO !!!\n * Подписка на изм контролов\n *\n */\n //public controlsForEntityDefTempl$ = ( opt:anyEntityOptions , excludeFlds: string[] ) =>\n public controlsForEntityDefTempl$ = ( opt:anyEntityOptions , fltr:(fldName:string) => Observable ) => this.controlsForEntity$( opt, fltr )\n\n /*\n * Контролы с подгрузкой темплэйта\n * // todo внутре у нее подписька, по хорошему ее надо возвращать что бы можно было отписать \n */\n public controlsForEntityLoadTempl$ = ( opt:anyEntityOptions , fltr:(fldName:string) => Observable ) => \n this.controlsForEntity$( \n opt, \n fltr, \n of(true).pipe(\n //tap( x=> console.log(x)),\n tap( x => this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new GetTemplate() }) )),\n switchMap( x => this.store.select(fromSelectors.selectTemplate(opt.name) )) ,\n filter( x => !!x ),\n )\n ); \n\n /*\n * Подписка на изм контролов 200820 template add\n */\n private controlsForEntity$ = ( opt:anyEntityOptions , fltr:(fldName:string) => Observable , templ:Observable = null ) =>\n this.metaData$(opt).pipe(\n //tap( x=> console.log(x)),\n filter(x => x && Object.keys(x.fieldsDesc).length > 0 ),\n //tap( x=> console.log(x)),\n mergeMap( x => combineLatest(\n of(x),\n templ ? templ : of(getRowTemplateByFldsDesc( Object.keys(x.fieldsDesc).map( y => x.fieldsDesc[y]))),\n this.fldsList( x.fieldsDesc,fltr ),\n (a,b,c) => ({meta:a, templ: b, flds:c })\n ) \n ), \n //tap( x=> console.log(x)),\n tap( x => this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new ChangeRowSeed(x.templ) }))), \n switchMap( x => \n this.store.select( \n fromSelectors.selFormControlsEx$( \n opt.name ,\n x.flds,\n of(x.templ ) \n )\n )\n .pipe(\n switchMap( x => x ),\n take(1),\n //tap( x=> console.log(x)),\n // tap( (x) => x.formGroup.valueChanges.subscribe( x =>\n // this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new ChangeRowSeed(x) }) )\n // )\n\n map( (x) => ({\n ...x , \n subscribtions:[ \n x.formGroup.valueChanges.subscribe( x =>\n this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new ChangeRowSeed(x) }) )\n )] \n }) \n \n ), \n \n ),\n ),\n take(1),\n //tap( x=> console.log(x)),\n //tap( (x) => x.formGroup.statusChanges.subscribe( x => console.log(x) ) ) \n );\n\n private fldsList = ( ls:FieldDescribes , fltr:(fldName:string) => Observable ) => \n from(\n Object.keys(ls).map( x => combineLatest( of(x), fltr(x), (a,b) => ({fld:a,fl:b }) ) )\n ).pipe( \n mergeMap(x => x),\n filter( x => x.fl ) ,\n map( x => x.fld ),\n reduce( (a:string[],x:string) => a.concat([x]), [] ) ,\n //tap( x => console.log(x) )\n ) \n\n public controlsForEntityDefTemplByGroup$ = ( opt:anyEntityOptions , groupName:string ) => \n this.controlsForEntityDefTempl$(\n opt,\n (x:string) => this.store.select( fromSelectors.selFieldDescribe(opt.name,x) ).pipe( \n //tap(x => console.log(x) ),\n map( (x:FieldDescribe) => x && x.hasOwnProperty(\"group\") && x.group == groupName ? true: false ),\n take(1)\n ) \n ) \n\n\n /**\n * Run insert record (from rowseed) actions \n */\n public insertItemByRowSeed = ( opt:anyEntityOptions ) => \n this.store.select(fromSelectors.selRowSeed(opt.name)).pipe(take(1))\n .subscribe( x => {\n //console.log(x);\n this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new AddItemEntity(x) }) )\n }\n );\n\n\n //map( x => Object.keys(x.fieldsDesc).map( y => x.fieldsDesc[y] ) )\n //map( x => genRowTemplateByFldsDesc( Object.keys(x.fieldsDesc).map( y => x.fieldsDesc[y] ) ) )\n //map( x => getRowTemplateByFldsDesc( Object.keys(x.fieldsDesc).map( y => x.fieldsDesc[y] ) ) )\n //map( x => Object.keys(x.fieldsDesc).filter(y => !excludeFlds.includes(y) ) ), \n //switchMap( x => this.store.select( fromSelectors.selFormControlsEx$( opt.name , x, this.store.select(fromSelectors.selRowSeed(opt.name) ) ))),\n //fromSelectors.selFormControlsEx$( \n \n ///////////////////////////////////////////////////////////////////////////////////////\n //\n // 310720 IBackContextDescriptor methods\n //\n\n // завершение \n // // loading& ---T----F------------------------ \n\n\n // private BackContextDescLoadProc2$ = ( loadingEntity: IBackContextDescriptor ) => \n // tMonad.of(loadingEntity)\n // .map( x => this.BackContextDescWaitFlagsStreams$(x) )\n \n // .map( x => this.BackContextDesc_TryLoad2$(x) ) // основной поток загрузки данных\n // .run() \n\n // private BackContextDesc_Complete$ = ( incom:IBackContexState$ ) => \n // combineLatest(\n // incom.loaded$,\n // incom.fixeble$,\n // (a,b) => ({ complete: !!a || (( (typeof b) != \"undefined\") && !b ) , ret: a }) \n // ).pipe(\n // filter( x => x.complete ),\n // take(1),\n // map( x => x.ret )\n // ) \n\n // private BackContextDesc_Wait$ = ( incom:IBackContexState$ ) => \n // combineLatest(\n // incom.loading$,\n // incom.authing$,\n // (a,b) => ( a || b ) \n // ).pipe( \n // tap( x => this.store.dispatch( new AddItem( incom.data.context.options)) )\n // ) \n \n\n\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \n /*\n * 310720 Загрузка с новыми интерфейсами групповвая \n */ \n public loadFromBack$ = ( loadingSet: IBackContextDescriptor[]) =>\n of( loadingSet ).pipe(\n map( xs => xs.map( x => this.BackContextDescLoadProc$(x) )) , \n mergeMap( xs => of(xs).pipe( mergeAll() ) ), \n mergeMap( xs => xs ), \n //tap(x=>console.log(x)),\n ) \n\n /* \n * Загрузка по BackContextDescriptor proцess (пока) бе-е-е-е-з таймаутов\n * Задача без выебонов сделать load proc c аутентифиацией \n */ \n private BackContextDescLoadProc$ = ( loadingEntity: IBackContextDescriptor ) => \n tMonad.of(loadingEntity)\n .map( x => ({ data:x , \n stream: this.BackContextDescLoadProc_Prep$( loadingEntity ).pipe( switchMap( x => this.BackContextDescWaitFlags$(x) ) )\n }) \n )\n //.map (x=>this.BackContextDesc_TryLoad$(x.stream) ) // основной поток загрузки данных\n .map(x=>this.BackContextDesc_TryLoad_Main$(x.stream) ) // основной поток загрузки данных\n .run()\n \n // Готовит место если надо и инициализирует обервэбл\n private BackContextDescLoadProc_Prep$ = ( loadingEntity: IBackContextDescriptor ) => \n this.store.select( fromSelectors.selectIsExist(loadingEntity.context.options.name)).pipe(\n tap( x => !x ? this.store.dispatch( new AddItem( loadingEntity.context.options)) : null ),\n filter( x => x ),\n take(1), \n map( x => loadingEntity )\n ) \n\n // Тригер первичной загрузки \n private BackContextDesc_TryLoad_CheckStart$ = ( incom$:Observable ) => \n incom$.pipe( \n filter( x => (! x.loading && ! x.authing) || x.loaded ), \n take(1), \n tap( x => ! x.loaded ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ) ,\n ) ; \n\n // Основной поток \n private BackContextDesc_TryLoad_Main$ = ( incom$:Observable ) => \n incom$.pipe( \n skipUntil(this.BackContextDesc_TryLoad_CheckStart$(incom$) ),\n debounceTime(1),\n //tap(x=>console.log(this.iBackCtxtoStr(x) )) ,\n filter( x => x.loaded || !x.loading || x.authing ),\n take(1),\n //tap(x=>console.log(this.iBackCtxtoStr(x) )) ,\n switchMap( x => x.authing ? this.BackContextDesc_TryLoad_RetryLoad$(incom$) : incom$ ),\n take(1)\n ) ; \n\n // Паралельный поток вторичной загрузки (после аутентификации)\n private BackContextDesc_TryLoad_RetryLoad$ = ( incom$:Observable ) => \n incom$.pipe( \n debounceTime(1),\n //tap(x=>console.log(this.iBackCtxtoStr(x) )) ,\n filter( x => (! x.loading && !x.authing) || x.loaded ), \n tap( x => (x.authed && !x.loaded) ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ), \n take(1),\n switchMap( x => x.authed ? this.BackContextDesc_TryLoad_RetryLoad_Wait$(incom$) : incom$ ),\n //tap(x=>console.log(this.iBackCtxtoStr(x) )) \n ) ; \n\n // Поток ожидания вторичной загрузки \n private BackContextDesc_TryLoad_RetryLoad_Wait$ = ( incom$:Observable ) => \n incom$.pipe( \n debounceTime(1),\n //tap(x=>console.log(this.iBackCtxtoStr(x) )),\n filter( x => x.loaded || !x.loading || x.authing ),\n take(1)\n ) ; \n\n // конвертор для отладки и прочие тулзы \n private b2s = ( x:boolean) => (typeof x)==\"undefined\" ? \"X-\" : ( x ? \"T-\" : \"F-\") ; \n private iBackCtxtoStr = ( x:IBackContexState) => this.b2s(x.loading )+ this.b2s(x.loaded )+ this.b2s(x.authing)+ this.b2s(x.authed )+ this.b2s(x.error); //+ this.b2s(x.fixeble) ;\n\n // Функция общий экстрактор из modeDescriptorSet\n private fromDescriptorSet = ( loadingEntity: IBackContextDescriptor, f:( (x:IBackContextModeDescriptor) => (x:IBackContextDescriptor, store:Store) => U ) ) => \n modeDescriptorSet.reduce( (a,x) => \n !a && loadingEntity.contextMode == x.mode \n ? f(x)( loadingEntity ,this.store )\n : a , ( undefined) \n ); \n\n //Конвертирует BackContextDescriptor в поток определяющий загруженны ли соответствующие данные \n public BackContextDescIsLoaded$ = ( loadingEntity: IBackContextDescriptor ) => this.fromDescriptorSet( loadingEntity, (x)=>x.isLoaded$ )\n //Конвертирует BackContextDescriptor в поток определяющий загружаются ли соответствующие данные \n public BackContextDescIsLoading$ = ( loadingEntity: IBackContextDescriptor ) => this.fromDescriptorSet( loadingEntity, (x)=>x.isLoading$ )\n //Конвертирует BackContextDescriptor в поток определяющий ошибку \n public BackContextDescIsError$ = ( loadingEntity: IBackContextDescriptor ) => this.fromDescriptorSet( loadingEntity, (x)=>x.isError$ )\n //Конвертирует BackContextDescriptor в базовый экшн загрузки\n public BackContextDescToLoadAction = ( loadingEntity: IBackContextDescriptor ) => \n this.fromDescriptorSet( loadingEntity, (d) => (x , state ) => new ExecItemAction( { itemOption: loadingEntity.context.options, itemAction: d.loadAct(loadingEntity) } )); \n\n // Исходный объект + Джентельменский набор флагов ожиданий для контекста загрузки\n private BackContextDescWaitFlags$ = ( loadingEntity: IBackContextDescriptor ) =>\n combineLatest( \n of(loadingEntity), \n this.BackContextDescIsLoading$(loadingEntity), \n this.BackContextDescIsLoaded$(loadingEntity), \n this.store.select( fromSelectors.selEnvIsAuthenticatingFull ), //.pipe(tap(x=>console.log(x))),\n this.store.select( fromSelectors.selEnvIsAuthedFull ),\n this.BackContextDescIsError$(loadingEntity),\n toBackContexState\n ).pipe(\n distinctUntilChanged( (x,y) => x.authed == y.authed && x.authing == y.authing && x.loaded == y.loaded && x.loading == y.loading && x.error == y.error ),\n ) ;\n \n\n \n // //Конвертирует BackContextDescriptor в базовый экшн загрузки\n // public BackContextDescToLoadAction_old = ( loadingEntity: IBackContextDescriptor ) =>\n // modeDescriptorSet.reduce( (a,x) => \n // !a && loadingEntity.contextMode == x.mode \n // ? new ExecItemAction( { itemOption: loadingEntity.context.options, itemAction: x.loadAct(loadingEntity) } )\n // : a , undefined \n // ); \n\n // /*\n // * Конвертирует BackContextDescriptor в поток определяющий загруженны ли соответствующие данные\n // */ \n // public BackContextDescIsLoaded_old$ = ( loadingEntity: IBackContextDescriptor ) =>\n // modeDescriptorSet.reduce( (a,x) => \n // !a && loadingEntity.contextMode == x.mode \n // ? x.isLoaded$( loadingEntity ,this.store )\n // : a , (> undefined) \n // ); \n\n // /*\n // * Конвертирует BackContextDescriptor в поток определяющий загружаются ли соответствующие данные\n // */ \n // public BackContextDescIsLoading_old$ = ( loadingEntity: IBackContextDescriptor ) =>\n // modeDescriptorSet.reduce( (a,x) => \n // !a && loadingEntity.contextMode == x.mode \n // ? x.isLoading$( loadingEntity ,this.store )\n // : a , (> undefined) \n // ); \n // /*\n // * Конвертирует BackContextDescriptor в поток определяющий ошибку \n // */\n // public BackContextDescIsError_old$ = ( loadingEntity: IBackContextDescriptor ) =>\n // modeDescriptorSet.reduce( (a,x) => \n // !a && loadingEntity.contextMode == x.mode \n // ? x.isError$( loadingEntity ,this.store )\n // : a , (> undefined) \n // ); \n\n // /*\n // * Конвертирует BackContextDescriptor в поток определяющий загруженны ли соответствующие данные\n // */ \n // public BackContextDescIsFixError$ = ( loadingEntity: IBackContextDescriptor ) =>\n // modeDescriptorSet.reduce( (a,x) => \n // !a && loadingEntity.contextMode == x.mode \n // ? x.isFixError$( loadingEntity ,this.store )\n // : a , (> undefined) \n // ); \n\n\n\n\n\n // Основной поток на подготовленную поляну \n // private BackContextDesc_TryLoad$ = ( incom$:Observable ) => \n // {\n // const s1 = this.BackContextDesc_TryLoad_CheckStart$(incom$);\n\n // const s2 = incom$.pipe( \n // skipUntil(s1),\n // debounceTime(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )) ,\n // //filter( x => x.loaded || typeof(x.fixeble) != \"undefined\" || x.authing ),\n // filter( x => x.loaded || !x.loading || x.authing ),\n // take(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )) ,\n // switchMap( x => x.authing ? s3 : incom$ ),\n // take(1),\n // );\n\n // const s3 = incom$.pipe( \n // debounceTime(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )) ,\n // filter( x => (! x.loading && !x.authing) || x.loaded ), \n // tap( x => (x.authed && !x.loaded) ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ), \n // take(1),\n // switchMap( x => x.authed ? s4 : incom$ ),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )) \n // ) ;\n\n // const s4 = incom$.pipe( \n // debounceTime(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // filter( x => x.loaded || !x.loading || x.authing ),\n // take(1)\n // ) ;\n \n\n\n // // const s4 = incom$.pipe( skipUntil(s3),tap(x=>console.log(this.iBackCtxtoStr(x) ))) ;\n // // const s5 = incom$.pipe( skipUntil(s4),tap(x=>console.log(this.iBackCtxtoStr(x) )) ) ;\n // // const s6 = incom$.pipe( skipUntil(s5),tap(x=>console.log(this.iBackCtxtoStr(x) ))) ;\n\n\n // return s2.pipe(\n // tap(x=>console.log(this.iBackCtxtoStr(x) ))\n // )\n\n // }\n // incom$.pipe( \n // skipUntil( this.BackContextDesc_TryLoad_CheckStart$(incom$)),\n // //tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // filter( x => x.authed || x.authing || x.error || x.loaded || x.loading || typeof(x.fixeble) != \"undefined\" ),\n // //tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // filter( x => (!x.loading && typeof(x.fixeble) != \"undefined\" ) || x.loaded ), \n // tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // switchMap( x => x.fixeble ? this.BackContextDesc_TryLoad_AfterAuth2$(incom$) : of(x) ),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // filter( x => (! x.loading ) || x.loaded ), \n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // //take(1)\n\n // // tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // // take(4), \n // //tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // // filter( x => (!x.loading && x.error) || x.loaded ), \n // //tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // //take(2), \n // //takeLast(1), \n\n // //tap(x=>console.log(this.iBackCtxtoStr(x) )),\n // //switchMap( x => x.authing ? this.BackContextDesc_TryLoad_AfterAuth$(incom$) : of(x) ),\n // //filter( x => (! x.loading ) || x.loaded ), \n // //tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // //take(1)\n // ) ; \n \n\n // Тригер вторичной загрузки \n // private BackContextDesc_TryLoad_CheckAfterAuth$ = ( incom$:Observable ) => \n // incom$.pipe( \n // filter( x => (! x.loading && ! x.authing) || x.loaded ), \n // take(1), \n // tap( x => x.authed ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ) \n // ) ; \n \n\n // Альтернативный поток (посал) если аутентификация \n // private BackContextDesc_TryLoad_AfterAuth2$ = ( incom$:Observable ) => \n // incom$.pipe( \n // skipUntil( incom$.pipe( filter( x => x.authing || x.loaded ),take(1) ) ),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // //filter( x => x.authed || x.authing || x.error || x.loaded || x.loading || typeof(x.fixeble) != \"undefined\" ),\n // filter( x => (! x.loading && !x.authing ) || x.loaded ), \n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // //takeUntil( timer(1000) ),\n // //takeLast(1), \n // take(2),\n // tap( x => ((!x.loaded) && x.authed) ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ) ,\n // tap(x=>console.log( ((!x.loaded) && x.authed))), \n // tap(x=>console.log(this.iBackCtxtoStr(x) )) \n // ) ; \n\n\n\n // Альтернативный поток (посал) если аутентификация \n // private BackContextDesc_TryLoad_AfterAuth$ = ( incom$:Observable ) => \n // incom$.pipe( \n // filter( x => (! x.loading && !x.authing ) || x.loaded ), \n // take(1), \n // tap( x => ((!x.loaded) && x.authed) ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ) ,\n // tap(x=>console.log( ((!x.loaded) && x.authed))), \n // tap(x=>console.log(this.iBackCtxtoStr(x) )) \n // ) ; \n\n \n //////TOOLS////////////////////////////////////////////////////////////////////////////////////// \n \n \n// /*\n// * Исходный объект + Джентельменский набор флагов ожиданий для контекста загрузки разделеный на потоки\n// */ \n// public BackContextDescWaitFlagsStreams$ = ( loadingEntity: IBackContextDescriptor ) =>\n// toBackContexState$(\n// loadingEntity, \n// this.BackContextDescIsLoading$(loadingEntity), \n// this.BackContextDescIsLoaded$(loadingEntity), \n// this.store.select( fromSelectors.selEnvIsAuthenticatingFull ), \n// this.store.select( fromSelectors.selEnvIsAuthedFull ),\n// this.BackContextDescIsError$(loadingEntity),\n// //this.BackContextDescIsFixError$(loadingEntity),\n// )\n\n ///////////////////////////////////////////////////////////// \n\n\n // \n // F-F-F-F-F- F-F-F-F-F-\n // F-F-F-F-T- F-F-F-F-T- \n // F-F-F-F-F- F-F-F-F-F- \n // F-F-T-F-F- F-F-T-F-F-\n // F-F-T-F-T-\n\n // Успех при ауз \n // F-F-F-F-F-\n // F-F-F-F-T-\n // F-F-F-F-F-\n // F-F-T-F-F-\n // F-F-F-F-F-\n // F-F-F-T-F-\n\n //ошибка ау \n\n //private BackContextDesc_TryLoad$ = ( incom$:Observable ) => this.BackContextDesc_TryLoad_CheckFirstError$ (incom$)\n // incom$.pipe(\n // switchMap( x => this.BackContextDesc_TryLoad_CheckFirstError$ (incom$) ),\n // take(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // tap(x=>console.log('сквозьттт-1' + x.data.contextMode ) ) , \n\n // ) \n\n // private BackContextDesc_TryLoad$ = ( incom$:Observable ) =>\n // incom$.pipe(\n // filter( x => (! x.loading && ! x.authing) || x.loaded ),\n // take(1),\n // tap(x=>console.log(\"BackContextDesc_TryFirstLoad$333\")),\n // map( x => ({ ...x, isTry: !x.loaded && !x.authed }) ), \n // tap( x => x.isTry ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ) ,\n // switchMap( x => incom$ ),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // tap(x=>console.log('база' + x.data.contextMode ) ) \n // //switchMap( x => this.BackContextDesc_TryLoad_Horhs$(incom$) )\n\n // )\n \n // Сценарий подгрузки после аутентификации \n // Loading$ -f--t--f-f-f-f -f -f\n // Loaded$ -f--f--f-f-f-f -f -f \n // Authing$ -f--f--f-f-f-t -t -t\n // Authed$ -f--f--f-f-f-f -f -f\n // Error$ -f--f--f-t-f-f -t -f\n\n // Сценарий подгрузки после не связаный с ау\n // Loading$ -f--t--f-f-f-f -f -f\n // Loaded$ -f--f--f-f-f-f -f -f \n // Authing$ -f--f--f-f-f-f -t -t\n // Authed$ -f--f--f-f-f-f -f -f\n // Error$ -f--f--f-t-f-t -t -f\n\n // CheckErr ---------0---------- \n\n \n // private BackContextDesc_TryLoad_CheckErr$ = ( incom$:Observable ) => incom$.pipe( filter( x => x.error || x.loaded ) ,take(1) ) ; \n // private BackContextDesc_TryLoad_CheckErrOrAuthing$ = ( incom$:Observable ) => \n // incom$.pipe( \n // filter( x => x.error || x.authing || x.loaded ) ,\n // take(1),\n // tap( ) \n // ) ; \n // //private BackContextDesc_TryLoad_CheckAuthed$ = ( incom$:Observable ) => incom$.pipe( filter( x => x.error || x.authing || x.loaded ) ,take(1) ) ; \n\n\n // private BackContextDesc_TryLoad_Horhs$ = ( incom$:Observable ) => \n // incom$.pipe( \n // skipUntil(\n // incom$.pipe(\n // skipUntil(this.BackContextDesc_TryLoad_CheckErr$(incom$) ),\n // //take(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // tap(x=>console.log('сквозь1' + x.data.contextMode ) ) , \n // )\n // ),\n // filter( x => x.error || x.authing || x.loaded ) ,\n // take(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // tap(x=>console.log('сквозь2' + x.data.contextMode ) ) \n\n // )\n \n \n // .pipe(\n // map( x => x.authing ), \n // skipUntil(this.BackContextDesc_TryLoad_CheckErrOrAuthing$(incom$) ),\n // take(1),\n // tap(x=>console.log(x)), \n // tap(x=>console.log('сквозь2 ' ) ) , \n // )\n\n // private BackContextDesc_TryLoad_HorhsAuth$ = ( incom$:Observable ) => \n // incom$.pipe( \n // filter( x => ( !x.authing ) || x.loaded ),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // tap(x=>console.log('ау1')), \n // tap( x => x.authing && !x.loaded ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ),\n // ) \n\n\n // private BackContextDesc_TryLoad_Horhs$ = ( incom$:Observable ) => \n // merge(\n // incom$.pipe(\n // filter( x => x.error || x.loaded ), \n // take(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // tap(x=>console.log('сквозь1' + x.data.contextMode ) ) , \n // switchMap( x=> incom$ ), \n // filter( x => x.error || x.authing || x.loaded ), \n // take(1),\n // tap(x=>console.log(this.iBackCtxtoStr(x) )), \n // tap(x=>console.log('сквозь2' + x.data.contextMode ) ) , \n // ),\n // incom$.pipe(\n // filter( x => ( !x.loading && !x.loaded && x.authing ) ),\n // take(1 ),\n // tap(x=>console.log(x)), \n // tap(x=>console.log('ау1')), \n // switchMap( x=> incom$.pipe(filter( x => ( !x.loading && !x.loaded && x.authed ) ,take(1) ) ) ), \n // tap(x=>console.log('ау2')) \n // ), \n // ).pipe(\n // tap(x=>console.log(x)) \n // )\n\n \n // private BackContextDesc_TryFirstLoad$ = ( incom$:Observable ) =>\n // incom$.pipe(\n // filter( x => (! x.loading && ! x.authing) || x.loaded ),\n // take(1),\n // tap(x=>console.log(\"BackContextDesc_TryFirstLoad$\")),\n // map( x => ({ isTry: !x.loaded && !x.authed , data:x.data }) ),\n // tap( x => x.isTry ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ) ,\n // map( x => x.isTry)\n // )\n \n // private BackContextDesc_TryAuthedLoad$ = ( incom$:Observable ) =>\n // incom$.pipe(\n // filter( x => ( ! x.loading && ! x.authing ) && (x.loaded || x.authed) ),\n // take(1),\n // tap(x=>console.log(\"BackContextDesc_TryAuthedLoad$\")),\n // map( x => ({ isTry: ! x.loaded && x.authed , data:x.data }) ),\n // tap( x => x.isTry ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ) ,\n // map( x => x.isTry)\n // )\n\n \n \n // public BackContextDescLoadProc$ = ( loadingEntity: IBackContextDescriptor ) => \n // this.BackContextDescLoadProc_Prep$( loadingEntity ).pipe(\n // tap(x=>console.log(x)),\n // switchMap( x => combineLatest( of(x), this.BackContextDescIsLoaded$(x), (a, check) => ({ isLoaded:check, data:x }) )),\n // tap(x=>console.log(x)),\n // tap( x => !x.isLoaded ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ), // попытка грузанутся\n // switchMap( \n // x => x.isLoaded \n // ? of(x)\n // : combineLatest( of(x.data), this.BackContextDescIsLoaded$(x.data), (a, check) => ({ ...x, isLoaded:check }) )\n // ),\n // /// теперь если не загружено и идет аутентификачия ждем\n // switchMap( x => combineLatest( of(x.data) , this.BackContextDescWaitAuth$(x.data), (a, check) => ({ ...x, isLoaded:check }) )),\n // filter( x => x.isLoaded.ld || !x.isLoaded.athing || x.isLoaded.authed ),\n // tap( x => !x.isLoaded.ld && x.isLoaded.authed ? this.store.dispatch( this.BackContextDescToLoadAction(x.data)) : null ), // попытка грузанутся \n // map(x => x.isLoaded.ld ) \n // ) \n\n /*\n * Ожидание завершения аутентивикации (без таймаута) \n * ждем либо загрузилось либо закончилась аутентификация \n */ \n // public BackContextDescWaitAuth$ = ( loadingEntity: IBackContextDescriptor ) =>\n // combineLatest( \n // this.BackContextDescIsLoaded$(loadingEntity), \n // this.store.select( fromSelectors.selEnvIsAuthenticating ),\n // this.store.select( fromSelectors.selEnvIsAuthed ),\n // ( x,y,z ) => ({ ld:x,athing:y, authed:z })) ;\n\n\n\n // Проверяет загружены ли данные (Стрелка кейсли в потоке) \n // private BackContextDescLoadProc_Check$ = ( loadingEntity: IBackContextDescriptor ) => \n // this.BackContextDescIsLoaded$(loadingEntity).pipe( \n // takeLast(1),\n // map( x => x ? Either.Left>(true) : Either.Right>(loadingEntity) )\n\n // ) \n\n // // Проверяет загружены ли данные (Стрелка кейсли в потоке) \n // private BackContextDescLoadProc_Check2$ = ( loadingEntity: Either> ) => \n // loadingEntity.map( ) \n \n // this.BackContextDescIsLoaded$(loadingEntity).pipe( \n // takeLast(1),\n // map( x => x ? Either.Left>(true) : Either.Right>(loadingEntity) )\n\n // ) \n\n /*\n * Загрузка по BackContextDescriptor proцess (пока) бе-е-е-е-з таймаутов\n * Задача без выебонов сделать load proc c аутентифиацией \n */ \n // public BackContextDescLoadProc$ = ( loadingEntity: IBackContextDescriptor ) => \n // this.BackContextDescLoadProc_Prep$( loadingEntity ).pipe(\n // combineLatest( this.BackContextDescIsLoaded$(loadingEntity) , (a, check) => a.bind( x => check ? : x ) )\n \n\n // ) \n\n \n\n // of(Either.Right>(loadingEntity)).pipe(\n // combineLatest( \n // this.store.select( fromSelectors.selectIsExist(loadingEntity.context.options.name)).pipe( takeLast(1)) \n // , (x,y) => { desc:x, } \n\n\n // )\n\n // ) \n \n\n // public BackContextDescLoadProc = ( loadingEntity: IBackContextDescriptor ) =>\n // this.store.select( fromSelectors.selectIsExist(loadingEntity.context.options.name)).pipe(\n // tap( x => !x ? this.store.dispatch( new AddItem( loadingEntity.context.options)) : null ),\n // filter( x => x ), // прошeл препар\n // switchMap( x => this.BackContextDescIsLoaded$(loadingEntity) ),\n // takeLast(1),\n // tap( x => !x ? this.store.dispatch( this.BackContextDescToLoadAction(loadingEntity) ) : null ), // попытка грузанутся\n // switchMap( x => this.BackContextDescIsLoaded$(loadingEntity) ),\n // combineLatest( fromSelectors.selEnvIsAuthenticating() , (x,y) => )\n // ) ; \n\n \n // private BackContextDescLoadProc_Prepare$ = ( loadingEntity: IBackContextDescriptor ) => \n // of(Either.Right>(loadingEntity)).pipe(\n // mergeMap( )\n\n // tap( x => !x ? this.store.dispatch( new AddItem( loadingEntity.context.options)) : null ),\n // filter( x => x ), \n // )\n \n // /*\n // * Загрузка по BackContextDescriptor proцess v2 на монаде\n // */ \n // public BackContextDescLoadProcEither = ( loadingEntity: IBackContextDescriptor ) =>\n // Either.Right>(loadingEntity) \n\n // this.store.select( fromSelectors.selectIsExist(loadingEntity.context.options.name)).pipe(\n // tap( x => !x ? this.store.dispatch( new AddItem( loadingEntity.context.options)) : null ),\n // filter( x => x ), // прошeл препар\n // switchMap( x => this.BackContextDescIsLoaded$(loadingEntity) ),\n // takeLast(1),\n // tap( x => !x ? this.store.dispatch( this.BackContextDescToLoadAction(loadingEntity) ) : null ), // попытка грузанутся\n \n // ) ; \n\n\n // (<[BackContextMode, (x:IBackContextDescriptor) => anyEntityActions][]>[\n // [BackContextMode.Data, (x) => new GetItems(null) ],\n // [BackContextMode.Metadata, (x) => new GetItemsMeta() ],\n // [BackContextMode.MetadataField, (x) => new GetItemsMeta() ],\n // [BackContextMode.Record, (x) => new GetItemsPart( x.context.options.location + x.context.options.selBack((>x.context).id )) ],\n // ])\n // .reduce( (a,x) => \n // !a && loadingEntity.contextMode == x[0] \n // ? new ExecItemAction( { itemOption: loadingEntity.context.options, itemAction: x[1](loadingEntity) } )\n // : a , undefined \n // ); \n\n\n /*\n * Загрузка из BackContextDescriptor без учета длительных эффектов типа аутентификации \n * (подготовка места и подгрузка)\n */ \n // public LoadFromBackContextDesc$ = ( loadingEntity: IBackContextDescriptor ) =>\n // this.store.select( fromSelectors.selectIsExist(loadingEntity.context.options.name)).pipe( \n // tap( x => !x ? this.store.dispatch( new AddItem(loadingEntity.context.options)) : null ),\n // filter( x => x ),\n // tap( x => \n // this.store.select( fromSelectors.selectById(opt.name,id)).pipe( take(1) )\n // .subscribe(x => !!x ? null : this.store.dispatch( new ExecItemAction( {itemOption:opt , itemAction: new GetItemsPart(opt.location + opt.selBack(id)) }))) \n // ),\n // mergeMap( x => this.store.select( fromSelectors.selectById(opt.name,id)) )\n //) \n \n // // public loadEntity = ( loadingEntity: IBackContextDescriptor) =>\n // // BackContextMode. \n // // loadingEntity.contextMode. \n // // loadingEntity.context.options \n // // this.store.dispatch( new ExecItemAction( {loadingEntity. itemOption:opt , itemAction: new ChangeRowSeed(x) }) ) \n // )\n\n // public loadEntity = ( loadingEntity: IBackContextDescriptor) =>\n // BackContextMode. \n // loadingEntity.contextMode. \n // loadingEntity.context.options \n\n // this.store.dispatch( new ExecItemAction( {loadingEntity. itemOption:opt , itemAction: new ChangeRowSeed(x) }) ) \n\n}\n\n","import { Injectable, ɵsanitizeUrl } from '@angular/core';\nimport * as fromStore from '@appStore/index';\nimport { Store } from '@ngrx/store';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { of, from, Observable, combineLatest } from 'rxjs';\nimport { anyEntityActions, ErrorAnyEntity, ErrorAnyEntityReset } from '@appStore/actions/any-entity.actions';\nimport { anyEntityOptions } from '@appModels/any-entity';\nimport { ErrorAnyEntitySet, ExecItemAction } from '@appStore/actions/any-entity-set.actions';\nimport { map, mergeMap, tap, take } from 'rxjs/operators';\nimport { AuthStart, ErrorEnvironment } from '@appStore/actions/environment.actions';\nimport { formArrayNameProvider } from '@angular/forms/src/directives/reactive_directives/form_group_name';\nimport { tMonad, Either } from '@appModels/monad';\nimport { IDialogBoxData } from '../app-common';\n\n\n// РАЗНАЯ НУЖНАЯ ШНЯГА\nconst ERR_SUBLEVEL_PROP = \"callstack\";\n\nconst JWT_HDR_ERR = \"error\";\nconst JWT_HDR_ERR_DESC = \"error_description\";\n\nconst ERR_BODY = \"_body\";\nconst ERR_BODY_CAP = \"Name\";\nconst ERR_BODY_DISC = \"Message\";\n\nconst ERR_AUTORIZE_DESC1 = \"Ошибка авторизации: возможно вы не имеете прав для доступа к ресурсу:\";\nconst ERR_AUTORIZE_DESC2 = \"Так же данная ошибка может быть вызвана неполадками в инфраструктуре на back-end-e\";\n\nconst ERR_NO_RESPONS = \"При обращении к ресурсу не получен ответ, возможно отсутствует соеденение. \";\n\nexport enum ErrLevel { Environment, EntitySet, Entity } ;\n\n//IDialodBoxData\n\nexport interface IErrLevelInfo {\n level : ErrLevel \n description? : string \n [ERR_SUBLEVEL_PROP]?: IErrLevelInfo\n}\n\nexport interface IAnyEntityActionInfo {\n action : ErrorAnyEntity\n options: anyEntityOptions\n}\n\n\n\n//////////////////////////////////////////////////////////////////////////////////\nexport const isEmpty = (x:any) => !!x\nexport const safeGet = (e:any,p:string, d:any ) => e && e.hasOwnProperty(p) ? e[p] : d; \nexport const safeGetChain = (e:any, ps:string[] , f:((x:any) => any) = (x)=>undefined ) => tMonad.of( ps.reduce( (a,x) => safeGet( a, x, undefined ) , e ) ).map( x => !!x ? x : f(e) ).run()\nexport const safeGetOrEmpty = (e:any,p:string, d:any ) => ( e && e.hasOwnProperty(p) && e[p] ) ? e[p] : d; \n\nconst removePrefix = (v:string, p:string) => v && p && v.startsWith(p) ? v.substring( p.length ).trim() : v ;\nconst firstNotEmpty = (x:any[] , f:(y:any) => any ) => x.reduce((a,v)=> !!a ? a : f(v) ,undefined) \n\nexport const safeGetFromHeaders : ( hdrs:any , key:string, f?:(x:any[]) => string[] ) => any[] = ( hdrs, key, f = (x) => x ) => \n !hdrs ? [] : Array.from<[]>(hdrs).reduce( (a:any[] ,x:any[] ) => x[0] == key ? a.concat(f(x[1]) ) : a , [] ); \n\n\nconst parseRemovePrefix = ( h:string, prefix:string = undefined ) => h.split(', ').map( x => removePrefix(x,prefix) ) \nconst headerComplexFunc = ( remPrefix:string = undefined ) => (x:any[] ) => x.reduce( (a,z) => a.concat(parseRemovePrefix (z , remPrefix )) ,[] ) ; \nconst headerSimpleFunc = ( caption:string ) => (x:any[] ) => x.map( y => caption+ \"=\"+y ) ; \n\nconst getFromStr = ( str:string, key:string ) => str && key && str.startsWith(key+\"=\") ? str.substring( key.length+1 ).trim() : undefined ; \n \n/*\n* Get value from parsed headers type \"key=val\" ; def - value if key not found, sucFunc - transform result from header val and defval \n*/\nconst getfromParsedHeader = ( headers:string[], key:string, def:string, sucFunc:(v:string,defV:string) => string = (v,d)=>v ) => \n tMonad.of( headers.reduce( (a,x)=> a ? a : getFromStr(x, key) ,undefined ) ).map( x=> x ? sucFunc(x,def) : def ).run() ;\n\nconst addAsAtr = (x:string,y:string) => y+\" [\"+x+\"]\";\n\n\nexport const safeAllMap = (e:any, vmap:[string,string][] , els:any = e ) => \n vmap.every( x => e.hasOwnProperty(x[0])) ? vmap.reduce( (a,v) =>({...a, [v[1]]:e[v[0]]})) : els\n\nexport const safeAllMapM = (e:any, vmap:[string,string][], leftFunc:(x:any) => U ) => \n Either.Right(e)\n .bind( x => vmap.every( x => e.hasOwnProperty(x[0])) \n ? Either.Left( leftFunc( vmap.reduce( (a,v) =>({...a, [v[1]]:e[v[0]]}),{} ) ) ) \n : Either.Right(e) \n ) \n\n// Для хэндлера \nconst shiftErrInfo = ( errPayload, lev:ErrLevel, desc?:string ) => \n tMonad.of( { level: lev , description: desc } )\n .map( x => errPayload.hasOwnProperty(ERR_SUBLEVEL_PROP) ? ({...x, [ERR_SUBLEVEL_PROP]:errPayload[ERR_SUBLEVEL_PROP] }) : x ) \n .map( x => ({ ...errPayload , [ERR_SUBLEVEL_PROP]:x }) ) \n .run()\n\nconst ErrLevelToString : ( ( err:IErrLevelInfo) => string ) = ( err) => \n err \n ? \"[\"+ safeGet( err, \"level\",\"\" ) + \"] \" + safeGet( err, \"description\",\"\" ) +\n ( err.hasOwnProperty(ERR_SUBLEVEL_PROP) && err[ERR_SUBLEVEL_PROP] \n ? ErrLevelToString( err[ERR_SUBLEVEL_PROP] )\n : \"\" ) \n :\"\";\n \nconst isUndef = (x:any) => (typeof x == 'undefined') \n\nconst getfromBody = (body:string, key:string, def:string, sucFunc:(val:any,defVal:string) => string ) => \n Either.Right(body)\n // .tap(x => console.log(x) )\n .map( x => x.hasOwnProperty(ERR_BODY) \n ? x[ERR_BODY] \n : x.hasOwnProperty(\"error\") && x[\"error\"].hasOwnProperty(ERR_BODY) \n ? x[\"error\"][ERR_BODY] \n : undefined \n )\n .LeftIs( isUndef , x => def ) \n // .tap(x => console.log(x) )\n .map( (x) => {\n try{ return JSON.parse( x ) ;}\n catch (e) { return undefined ; }\n })\n .LeftIs( isUndef , x => def ) \n .map( x => x.hasOwnProperty(key) ? x[key] : undefined )\n .LeftIs( isUndef , x => def ) \n .map( x => sucFunc(x,def))\n .run()\n\n///////////////////////////////////////////////////////////////////////\n\n// ---------------------------------------------\n\n\n@Injectable({\n providedIn: 'root'\n})\n\n/*\n* Обработчик ошибок на уровне эффектов\n*/\nexport class ErrorHandlerService {\n \n constructor(private store: Store) { }\n\n // \n AnyEntityLevelHandling_old = ( action : ErrorAnyEntity, options: anyEntityOptions ) =>\n this.store.select( fromSelectors.selEnvIsAuthed ).pipe( \n //tap(x=>console.log(x)),\n map( x => !x && action.payload && action.payload.status && action.payload.status == 401 ),\n map( x => x \n ? new AuthStart({\n fromError: action.payload&&action.payload.status?action.payload.status:undefined,\n fromSource: action.payload&&action.payload.url?action.payload.url:undefined,\n tag:\"undefined\" \n }) \n : new ErrorEnvironment( shiftErrInfo( action.payload, ErrLevel.Entity, \"Ошибка загрузки: \"+ options.name +\" из \"+ options.location ) )\n ),\n map( x => [ new ExecItemAction( {itemOption:options , itemAction:new ErrorAnyEntityReset() }) , x] ),\n //tap(x=>console.log(x)),\n mergeMap( x => from(x) ) ,\n //tap(x=>console.log(x))\n )\n\n // AnyEntityLevelHandling$ = ( action : ErrorAnyEntity, options: anyEntityOptions ) =>\n // Either.Right, {action : ErrorAnyEntity, options: anyEntityOptions} >( ({ action:action , options:options}))\n // .bind( x => this.AnyEntityLevel401HandlingM$(x.action,x.options) ) // 401\n // .bind( x => this.AnyEntityLevel0HandlingM$(x.action,x.options) ) // 401\n // // Если ни кем не обработано то ресетим и поднимаем на Environment\n // .map>( x => of([ \n // new ErrorEnvironment( shiftErrInfo( x.action.payload, ErrLevel.Entity, \"Ошибка загрузки: \"+ x.options.name +\" из \"+ x.options.location ) ), \n // new ExecItemAction( {itemOption:x.options , itemAction:new ErrorAnyEntityReset() })\n // ]))\n // .run()\n // .pipe( \n // mergeMap( x => from(x) ),\n // ) \n\n /*\n * 050820 Расширяем хендлер (Эффект Entity) \n * 060820 ребилд \n */\n AnyEntityLevelHandling$ = ( action : ErrorAnyEntity, options: anyEntityOptions ) =>\n Either.Right, IAnyEntityActionInfo>( ({ action:action , options:options}))\n //.tap(x=>console.log(x))\n .bind( x => this.AnyEntityLevelHandlerM$(x, this.AnyEntityLevelHandlingIsStatus(401), this.AnyEntityLevel401Stream$ ) ) // 401\n .bind( x => this.AnyEntityLevelHandlerM$(x, this.AnyEntityLevelHandlingIsStatus(0), this.AnyEntityLevel0Stream$ ) ) // 0\n // .bind( x => this.AnyEntityLevel0HandlingM$(x.action,x.options) ) // 401\n // Если ни кем не обработано то ресетим и поднимаем на Environment\n .map>( x => of([ \n new ErrorEnvironment( shiftErrInfo( x.action.payload, ErrLevel.Entity, \"Ошибка загрузки: \"+ x.options.name +\" из \"+ x.options.location ) ), \n new ExecItemAction( {itemOption:x.options , itemAction:new ErrorAnyEntityReset() })\n ]))\n .run()\n .pipe( \n mergeMap( x => from(x) ),\n ) \n\n private AnyEntityLevelHandlerM$ : ( actInfo:IAnyEntityActionInfo, filter:(a:IAnyEntityActionInfo) => boolean , toActioons: (a:IAnyEntityActionInfo) => Observable ) => \n Either,IAnyEntityActionInfo > = ( actInfo, filter, toActioons ) => \n Either.Right, IAnyEntityActionInfo>( actInfo ) \n .bind( x => filter(x) ? Either.Left( toActioons(x) ) : Either.Right(x) )\n\n private AnyEntityLevelHandlingIsStatus = (statusCode:number ) => ( x:IAnyEntityActionInfo ) => x.action.payload && x.action.payload.hasOwnProperty(\"status\") && x.action.payload.status == statusCode \n\n // 401 Not authorize\n private AnyEntityLevel401Stream$ = (actInfo:IAnyEntityActionInfo) =>\n combineLatest( of(actInfo), \n this.store.select( fromSelectors.selEnvIsAuthed ),\n this.store.select( fromSelectors.selEnvIsAuthenticating ),\n (x,s1,s2) => ({ data:x , isAuthed:s1 , isAuthing:s2 })\n ).pipe(\n take(1),\n map( x => ({ \n data:x.data ,\n ret: x.isAuthed \n ? new ErrorEnvironment( shiftErrInfo( x.data.action.payload, ErrLevel.Entity, ERR_AUTORIZE_DESC1 + x.data.options.name +\" из \"+ x.data.options.location + \" \"+ ERR_AUTORIZE_DESC2 ) ) \n : ! x.isAuthing \n ? new AuthStart({\n fromError:x.data.action.payload && x.data.action.payload.hasOwnProperty(\"status\") ? x.data.action.payload.status : undefined,\n fromSource: x.data.action.payload && x.data.action.payload.hasOwnProperty(\"url\") ? x.data.action.payload.url:undefined,\n tag:undefined \n }) \n : undefined // просто ресетим\n }) \n ),\n map( x => ({ res: new ExecItemAction( {itemOption:x.data.options , itemAction:new ErrorAnyEntityReset() }), act: x.ret }) ),\n map( x => x.act ? [ x.res, x.act] : [x.res] )\n )\n\n // No responce \n private AnyEntityLevel0Stream$ = (actInfo:IAnyEntityActionInfo) =>\n of( [\n new ExecItemAction( {itemOption:actInfo.options , itemAction:new ErrorAnyEntityReset() }), \n new ErrorEnvironment( shiftErrInfo( actInfo.action.payload, ErrLevel.Entity, ERR_NO_RESPONS + \" \"+ ERR_AUTORIZE_DESC2 ) ) \n ] ) \n\n}\n\n////////////////////////////////////////////////\n/*\n* ПАРСИТ ПРОИЗВОЛЬНУЮ ОШИБКУ И ПРИВОДИТ К СТАНДАРТИЗИРОВАННОМУ ВИДУ \n*/\n\nexport enum ErrorType { Unknown, Html, Html_Auth, Html_NoResponce } \n\nexport const ErrorTypeIcons : [ErrorType, string] [] = [ \n [ErrorType.Html, \"error_outline\" ],\n [ErrorType.Html_Auth, \"no_encryption\"],\n [ErrorType.Html_NoResponce, \"signal_cellular_off\"] \n];\n\nexport const HtmlErrorsConvertor : [ string, ErrorType, string, string ][] = [ \n [ \"401\" , ErrorType.Html_Auth , \"401 Не авторизован\" , \"Ресурс к которому вы обратились требует авторизации, выполните вход и попробуйте еще раз.\" ],\n [ \"0\" , ErrorType.Html_NoResponce , \"Сервер не отвечает\" , \"Ресурс к которому вы обратились не прислал ответ. Возможно отсутствует сетевое соеденение.\" ]\n]\n\nexport const translateError: (err:IParsedError ) => IParsedError = (err) =>\n HtmlErrorsConvertor.reduce( (a,x) => err.caption == x[0] ? {...err, type:x[1], caption:x[2], description:x[3] } :err ,err ) ;\n\nexport interface ISysParsedError {\n status: any\n statusText:string\n location?:string \n callstackInfo?:string \n headers?:string[]\n}\n\n// Распарсеная ошибка\nexport interface IParsedError {\n caption:string;\n description:string;\n type:ErrorType; \n}\n\n// Распарсиваемая ошибка (Ну вотэтот объект самый ходовой)\nexport interface IAppError {\n objectError:any;\n parsedError:IParsedError;\n sysParsedError?:ISysParsedError; \n}\n\nconst WWW_AUTH_HEADER = \"www-authenticate\";\nconst X_CAP = \"Ошибка\";\nconst X_DSC = \"Неизвестная ошибка\";\n\n/*\n* 290720 Функциональная версия ошибки\n*/\nexport const buildParsedError: (err:any) => IAppError = (err) =>\n Either.Right(err) \n //.tap( x => console.log(x) )\n .bind( tryParseHtmlError )\n .bind( tryParseSimpleStringError )\n .map( x => ( { objectError:x , parsedError:{ caption:X_CAP, description:X_DSC, type:ErrorType.Unknown } } ) ) // to Unknown error\n //.tap( x => console.log(x) )\n .run() ; \n \n// Html error\nconst tryParseHtmlError: (err:any) => Either = (err) =>\n Either.Right(err) \n .map( x => ( { err: safeGet(x,\"error\",x) , opt: safeGet(x,\"opt\",({})), callstack: safeGet(x,\"callstack\",({})) }))\n //.tap( x => console.log(x) )\n .bind( e => \n safeAllMapM( e.err , [[ \"status\" ,\"caption\"],[\"statusText\" ,\"description\"]] , (x) => ({ ...x , type:ErrorType.Html })) \n .reverse()\n .map(x => {\n objectError:err, \n parsedError:translateError(x), \n sysParsedError: { \n status: x.caption, \n statusText: x.description , // safeGetFromHeaders( safeGetChain(e.err,[\"headers\",\"_headers\"],undefined), WWW_AUTH_HEADER, (x)=>\"хуй\" , \"Bearer\" ), \n location: safeGet( e.opt, \"location\" , safeGet(e.err,\"url\",undefined)) , \n callstackInfo:safeGet( e.callstack, \"description\" ,undefined) ,\n headers: safeGetFromHeaders( safeGetChain(e.err,[\"headers\",\"_headers\"],undefined), WWW_AUTH_HEADER , headerComplexFunc(\"Bearer\") ) \n .concat(safeGetFromHeaders( safeGetChain(e.err,[\"headers\",\"_headers\"],undefined), \"prayer\" , headerSimpleFunc(\"Prayer\") ) ) //test header getting\n } \n } )\n \n //.tap( x => console.log(x) )\n .map( x => { \n ...x ,\n parsedError:{ \n ...x.parsedError , \n caption: getfromParsedHeader( x.sysParsedError.headers, JWT_HDR_ERR, x.parsedError.caption, addAsAtr ) , //Up JWT Err from header\n description: getfromParsedHeader( x.sysParsedError.headers, JWT_HDR_ERR_DESC, x.parsedError.description ) \n } \n }) \n // From Body\n .map( x => { \n ...x ,\n parsedError:{ \n ...x.parsedError , \n caption: getfromBody( x.objectError, ERR_BODY_CAP, x.parsedError.caption, (x) => x ) , // From cust body\n description: getfromBody( x.objectError, ERR_BODY_DISC, x.parsedError.description, (x) => x ) \n } \n }) \n .reverse() \n // getfromParsedHeader( x.sysParsedError.headers, JWT_HDR_ERR, x.parsedError.caption )\n )\n\n// simpl string error\nconst tryParseSimpleStringError:(err:any) => Either = (err) =>\n Either.Right(err) \n .bind( e => (typeof e) != \"string\" \n ? Either.Right(e) \n : Either.Left({ \n objectError: e , \n parsedError: ({ caption:\"Ошибка\", description:e, type:ErrorType.Unknown }) ,\n })\n ) \n\n/*\n* Error to Short system string\n*/\nexport const appErrorToShortSys: (err:IAppError) => string = (err) => \n err.hasOwnProperty(\"sysParsedError\") && err.sysParsedError \n ? \"[\"+err.sysParsedError.status +\"] \" + err.sysParsedError.statusText + \" on \" + err.sysParsedError.location +\"...\" \n : \"[\"+err.parsedError.caption +\"] \" + err.parsedError.description + \"...\"\n\nconst propToStr : ( obj:any , prop:string, toDef?: (x:any) => string, cap?:string ) => string = (o,p,f = (x) => undefined ,c = p ) => \n tMonad.of(safeGetOrEmpty( o,p, undefined )).map( x => !!x ? c+\": \"+x+\"; \" : f(o) ).run()\nconst propsToStrFoo : ( props:string[], cap?:string ) => ((z:any)=>string ) = ( ps , c = undefined ) => ps.reduceRight( (a,x) => (j) => propToStr(j , x , a , c ) , (y:any) => \"\" );\nconst propsToStr: (obj:any, props:string[], cap?:string ) => string = ( o, ps , c = undefined ) => propsToStrFoo(ps,c)(o);\n\n/*\n* Sys Error String array caption:message\n*/\nexport const sysErrorToString: (err:ISysParsedError) => string[] = (err) => [\n propToStr(err,\"status\" ) ,\n propToStr(err,\"statusText\" ) ,\n propToStr(err,\"location\" ) ,\n propToStr(err,\"callstackInfo\" ) //,\n //propsToStr(err,[ \"location\", \"statusText\", \"status\" ] ) \n];\n\n\n\n\n/*\n* Error to DialogData converter\n*/\nexport const appErrorToDialogData: (err:IAppError) => IDialogBoxData = (err) => ({\n Message: err.parsedError.description, \n Name: err.parsedError.caption , \n IconName: ErrorTypeIcons.reduce( (a,x) => x[0] == err.parsedError.type ? x[1] : a , \"error\" ),\n Details: ( err.hasOwnProperty(\"sysParsedError\") ? sysErrorToString(err.sysParsedError ) : [] )\n .concat( err.sysParsedError && err.sysParsedError.headers ? err.sysParsedError.headers.map( x => \"Header: \" + x ) : [] ) \n}); \n\n\n\n// // Захерим начнем с начала сверьху \n// export class ErrorParsed implements IParsedError {\n// ;\n// private readonly WWW_AUTH_HEADER = \"www-authenticate\";\n// private readonly X_CAP = \"Ошибка\";\n// private readonly X_DSC = \"Неизвестная ошибка\";\n \n// caption:string;\n// description:string;\n// type:ErrorType; \n\n\n// constructor(public objectError:any ) \n// {\n// this.objectError = safeGet(objectError,\"error\",objectError);\n\n// var err = this.parser(objectError);\n// this.caption = err.caption;\n// this.description = err.description;\n// this.type = err.type;\n\n// //this.caption = this.X_CAP;\n// //this.description = this.X_DSC;\n// //this.TryParseError(this.objectError)\n\n// this.parser(objectError);\n\n \n// console.log( this.objectError);\n// console.log( this.caption);\n// console.log( this.description);\n// }\n\n// iconName = () => this.type == ErrorType.Unknown \n// ? \"error\"\n// : \"error_outline\"\n \n// private TryParseError = (err:any) => this.isHtml(err)? this.tryParseHtml(err) : this.tryParseUnknown(err)\n \n// private tryParseUnknown = (err:any) => {\n// this.caption = safeGet(err,\"Name\",this.X_CAP) ;\n// this.description = safeGet(err,\"Message\",this.X_DSC) ;\n// }\n \n// private tryParseHtmlSimpl = (err:any) => {\n// this.caption = tMonad.of(safeGet(err,\"status\",this.X_CAP) )\n// .map( x => x ? x : \"Ошибка HTML\" )\n// .run();\n \n// this.description = Either.Right(safeGet(err,\"statusText\",this.X_DSC))\n// .LeftIsNotEmptyOrMap( x => safeGet(err, ERR_SUBLEVEL_PROP , undefined) ) \n// .tap( x => console.log(x) )\n// .map( ErrLevelToString )\n// .LeftIsNotEmptyOrMap( x => this.X_DSC ) \n// .run();\n// }\n\n\n// ///////////////////////////////////////////////////////////\n// // Парсеры\n\n// private isHtml = (err) => err.hasOwnProperty('status') && err.hasOwnProperty('statusText') ? true : false ; \n// private isHtmlWithAuthBearer = (err) => err.hasOwnProperty('headers') && err['headers'].hasOwnProperty(this.WWW_AUTH_HEADER) ? true : false ; \n// private toUnknovn : (x:any) => IParsedError = (x) => ({ caption:this.X_CAP, description:this.X_DSC, type:ErrorType.Unknown }) ;\n \n \n\n// /* \n// * Базовый парсер\n// */\n// private parser: ( objectError:any ) => IParsedError = (err) =>\n// Either.Right(err) \n// .bind( x => this.ParseHtml(x) )\n// .map( this.toUnknovn)\n// .run() ;\n\n// /* \n// * Парсер Html\n// */\n// private ParseHtml: ( objectError:({status:string, statusText:string}) ) => Either = (err) =>\n// Either.Right(err) \n// .tap( x => console.log(x) )\n// .bind( x => \n// safeAllMapM( x , [ [ \"status\" ,\"caption\"],[ \"statusText\" ,\"description\"] ] , (x)=>({ ...x , type:ErrorType.Html }) ) \n// ) \n// ////////////////////////////////////////////////////////////\n\n \n// private tryParseHtml = (err) => this.tryParseHtmlSimpl(err)\n// // this.isHtmlWithAuthBearer(err) \n// // ? \n \n// toDialogData:() => IDialodBoxData = () => ({ Message: this.description, Name:this.caption , IconName: this.iconName() }); \n \n \n// }\n","import { of } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n/**\r\n * Helper \r\n * \r\n * \r\n * \r\n */\r\n\r\n\r\nconst FK_MACRO_BEGIN = \"{\"; \r\nconst FK_MACRO_END = \"}\";\r\nconst FK_PARS_PATR_DEVIDER = \"?\";\r\nconst FK_NAME_PATR_DEVIDER = \"/\";\r\nconst ID_NAME_META_PROP = \"Key\";\r\n\r\n\r\n/**\r\n* Legasy\r\n* Get Macros from location \r\n*/ \r\nexport const getLocationMacros = (location: string) => {\r\n var recFun = (s: string, r: string[]) => {\r\n var bp = s.indexOf(FK_MACRO_BEGIN)\r\n if (bp > 0 && s.length > (bp+1) ) {\r\n var ss = s.substring(bp+1);\r\n var ep = ss.indexOf(FK_MACRO_END);\r\n if (ep > 0) {\r\n r.push(ss.substring(0, ep));\r\n r = recFun(ss.substring(ep), r);\r\n }\r\n }\r\n return r;\r\n }\r\n return recFun(location, []);\r\n}\r\n\r\n/**\r\n * Check location contains macros\r\n */\r\nexport const isLocationContainsMacros = (location: string) => getLocationMacros( location ).length > 0 \r\n\r\n//export const not = ( (x:boolean) => !x );\r\n\r\n/**\r\n * Check location undepend\r\n */\r\nexport const isLocationUndepended = (x:string) => !(isLocationContainsMacros(x)) ;\r\n\r\n/**\r\n * Check location Parameterized\r\n */\r\nexport const isLocationParameterized = (location: string) => ( location.indexOf(FK_PARS_PATR_DEVIDER) > 0);\r\n\r\n\r\n/**\r\n * Cut native name from location\r\n */\r\nexport const locationToName = (loc: string) => {\r\n //console.log(loc);\r\n const e = loc.indexOf(FK_PARS_PATR_DEVIDER);\r\n const l = e > 0 ? loc.substring(0,e) : loc;\r\n const b = l.lastIndexOf(FK_NAME_PATR_DEVIDER);\r\n return b>0 ? l.substring(b+1): l;\r\n}\r\n\r\n/**\r\n * Cut native name from location с учетом конструкции .. XXX/Name/NNNNN \r\n */\r\nexport const locationToNameEx$ = (loc: string) =>{ \r\n const isDig = (x) => (x && x >= '0' && x <= '9');\r\n const cutEnd = (x) => x.substring(x.lastIndexOf(FK_NAME_PATR_DEVIDER ));\r\n\r\n return of(loc).pipe(\r\n map( x => x.indexOf(FK_PARS_PATR_DEVIDER) > 0 ? x.substring(0,x.indexOf(FK_PARS_PATR_DEVIDER)) : x ),\r\n\r\n map( x => x.lastIndexOf(FK_NAME_PATR_DEVIDER ) > 0\r\n ? isDig( x.substring(x.lastIndexOf(FK_NAME_PATR_DEVIDER ) +1 )[0]) \r\n ? cutEnd( x.substring(0,x.lastIndexOf(FK_NAME_PATR_DEVIDER )))\r\n : x.substring(x.lastIndexOf(FK_NAME_PATR_DEVIDER ) + 1 ) \r\n : x\r\n )\r\n ) \r\n} \r\n\r\n \r\n/**\r\n * location to simple option\r\n */\r\nexport const locToEntityOptionSeed = (location: string) => (\r\n {\r\n name: locationToName(location) , \r\n location: location, // http sublocation key \r\n selectId: undefined, // entity to id value func \r\n selBack: undefined \r\n }\r\n);\r\n\r\n/**\r\n * return Base location wo parameters part (clear)\r\n */ \r\nexport const getBaseLocation = (loc:string) => \r\n isLocationParameterized( loc ) ? loc.substring(0, loc.indexOf(FK_PARS_PATR_DEVIDER)) : loc ;\r\n\r\n\r\n/**\r\n * location info descriptor\r\n */\r\nexport const locationInfo = (loc: string) => ({\r\n optionSeed: locToEntityOptionSeed(loc),\r\n isLocationUndepended: isLocationUndepended(loc),\r\n isLocationParameterized: isLocationParameterized(loc),\r\n macros:getLocationMacros(loc)\r\n});\r\n\r\n/**\r\n * Location types flags\r\n*/ \r\nexport const isFullIndepended = (loc: string) => isLocationUndepended(loc) && !isLocationParameterized(loc) ;\r\nexport const isPartIndepended = (loc: string) => isLocationUndepended(loc) && isLocationParameterized(loc) ;\r\nexport const isDepended = (loc: string) => !isLocationUndepended(loc) ;\r\n\r\n\r\n/**\r\n * name key field from metadata\r\n */\r\nexport const getIdFromMeta = ( meta:any ) => \r\n meta.hasOwnProperty(ID_NAME_META_PROP) ? meta[ID_NAME_META_PROP] : undefined;\r\n\r\n/**\r\n * location to option\r\n */\r\nexport const locToEntityOption = (location: string, keyName: string ) => (\r\n {\r\n name: locationToName(location) , \r\n location: getBaseLocation(location), // http sublocation key \r\n selectId: buildSelectIdFoo(keyName), // entity to id value func \r\n selBack: buildSelBackIdFoo(keyName) \r\n }\r\n);\r\n\r\n/**\r\n * select key from row func \r\n */\r\nexport const buildSelectIdFoo = ( key: string ) => (x:any) => x[key] ;\r\n\r\n/**\r\n * select key from row func \r\n */\r\nexport const buildSelBackIdFoo = ( key: string ) => (x:string) => (\"?\"+key+\"=\") + x ;\r\n\r\n/**\r\n* Fill macros values from row \r\n*/\r\nexport const fillLocationMacros = ( loc: string, row:{}) => {\r\n //const prepVal = (v:any) => v==undefined?'null':((typeof v) == 'string' ? \"'\"+v+\"'\" : \"\"+v);\r\n const prepVal = (v:any) => v==undefined?'null':((typeof v) == 'string' ? \"\"+v+\"\" : \"\"+v); //210820\r\n //const getVal = ( p:string, r:{}) => prepVal( p in r ? r[p] : undefined ); \r\n const getVal = ( p:string, r:{}) => prepVal( r && r.hasOwnProperty(p)? r[p] : undefined ); \r\n \r\n return getLocationMacros(loc).reduce((a:string, x) => a.replace(FK_MACRO_BEGIN+x+FK_MACRO_END, getVal(x,row)),loc);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { locationToName, getBaseLocation, getIdFromMeta, locToEntityOption, isFullIndepended } from './foreign-key.helper';\nimport { tap, filter, take, map, mergeMap, switchMap, combineLatest, last, distinctUntilChanged} from 'rxjs/operators';\nimport { Exec, AddItem } from '@appStore/actions/any-entity-set.actions';\nimport { GetItemsMeta, GetItems, GetItemsPart } from '@appStore/actions/any-entity.actions';\n\nimport { DataProvService } from '../data-prov.service';\n\nimport * as fromStore from '@appStore/index';\nimport * as fromSelectors from '@appStore/selectors/index';\nimport { anyEntityOptions } from '@appModels/any-entity';\nimport { of } from 'rxjs';\n\n//import { of, combineLatest } from 'rxjs';\n\n/**\n * Сервис обработки значений вторичных ключей заливаемыз с бэкенда\n * 110119\n * с ходу выделяется 3 группы\n * 1. Full independed (сразу льется весь ентити) \n * 2. Part independed (льется часть ентити) \n * 3. Depended (часть ентити связанная с текущим контекстом ) \n */\n\n\nconst QUESTION_PROP_FK_NAME = 'optionsRefLoc';\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class ForeignKeyService {\n constructor(\n private store: Store,\n private dataService: DataProvService\n ){\n //this.store.select( fromSelectors.selectIsExist('NVASDServiceDesc')).subscribe( x => console.log(x) );\n //this.store.select( fromSelectors.selectIsMetadataLoaded('NVASDServiceDesc')).subscribe( x => console.log(x) );\n //this.store.select( fromSelectors.selectData('NVASDServiceDesc')).subscribe( x => console.log(x) );\n \n }\n\n public isExist$ = (loc:string) => this.store.select(fromSelectors.selectIsExist(locationToName(loc)));\n public isPrepared$ = (loc:string) => this.store.select(fromSelectors.selectIsPrepared(locationToName(loc)));\n \n \n public locToName = locationToName; \n \n public buildOptions$ = (loc:string) => \n this.dataService.metadata$( getBaseLocation(loc) ).pipe(\n map( x => getIdFromMeta(x) ),\n map( x => locToEntityOption(loc, x) )\n );\n /**\n * подготавливает стор \n */ \n public prepareForeignData$ = (loc:string) => { \n\n const getLocOption$ = ( loc:string, isFromStore:boolean ) => // либо билдит с эффектами либо из стора если он там есть \n (isFromStore ? \n this.store.select( fromSelectors.selectDataOptions(locationToName(loc))).pipe(take(1) ):\n this.buildOptions$( loc ).pipe(\n //tap(x=>console.log('bld'))\n )\n ).pipe(\n\n map( x => ({ opt:x, isExst:isFromStore }) )\n )\n\n return this.isExist$(loc)\n .pipe(\n map( x => ({lc:loc, isExst:x})),\n mergeMap( x => getLocOption$( x.lc, x.isExst )),\n tap( x => !x.isExst ? this.store.dispatch( new AddItem(x.opt)) : null ),\n filter( x => x.isExst )\n ).pipe( \n map( x => x.opt),\n mergeMap( o => this.store.select(fromSelectors.selectIsMetadataLoaded(o.name)).pipe(map(x=>({isMdLoaded:x, opt:o })))),\n tap( x => x.isMdLoaded ? null: this.store.dispatch( new Exec( {name:x.opt.name , itemAction: new GetItemsMeta()}))),\n filter( x => x.isMdLoaded ),\n ).pipe(\n tap( x => isFullIndepended(loc)\n ? this.store.dispatch( new Exec( {name:x.opt.name , itemAction: new GetItems(undefined)}))\n : this.store.dispatch( new Exec( {name:x.opt.name , itemAction: new GetItemsPart(loc)})) // null 210820\n ),\n //tap( x => isFullIndepended(loc)?this.store.dispatch( new Exec( {name:x.opt.name , itemAction: new GetItems(undefined)})):null ),\n map( x => x.isMdLoaded ),\n \n )\n } \n\n // /**\n // * подготавливает стор \n // */ \n // public prepareForeignData$ = (loc:string) => { \n\n // const getLocOption$ = ( loc:string, isFromStore:boolean ) => // либо билдит с эффектами либо из стора если он там есть \n // (isFromStore ? \n // this.store.select( fromSelectors.selectDataOptions(locationToName(loc))).pipe(take(1) ):\n // this.buildOptions$( loc ).pipe(tap(x=>console.log('bld')))\n // ).pipe(\n\n // map( x => ({ opt:x, isExst:isFromStore }) )\n // )\n\n // return this.isExist$(loc)\n // .pipe(\n // tap(x=>console.log('isExist')),\n // map( x => ({lc:loc, isExst:x})),\n // mergeMap( x => getLocOption$( x.lc, x.isExst )),\n // tap(x=>console.log('getLocOption')),\n // tap( x => !x.isExst ? this.store.dispatch( new AddItem(x.opt)) : null ),\n // filter( x => x.isExst)\n // ).pipe( \n // map( x => x.opt),\n // tap(x=>console.log('prepareForeignData$')),\n // mergeMap( o => this.store.select(fromSelectors.selectIsMetadataLoaded(o.name)).pipe(map(x=>({isMdLoaded:x, opt:o })))),\n // //tap(x=>console.log(x)),\n // tap( x => x.isMdLoaded ? null: this.store.dispatch( new Exec( {name:x.opt.name , itemAction: new GetItemsMeta()}))),\n // tap(x=>console.log('disp GetItemsMeta$')),\n // filter( x => x.isMdLoaded ),\n // ).pipe(\n // tap( x => isFullIndepended(loc)?\n // this.store.dispatch( new Exec( {name:x.opt.name , itemAction: new GetItems(undefined)})):\n // null \n // ),\n // //tap( x => isFullIndepended(loc)?this.store.dispatch( new Exec( {name:x.opt.name , itemAction: new GetItems(undefined)})):null ),\n // map( x => x.isMdLoaded ),\n \n // )\n // } \n\n /**\n * Загружает таргетированную часть данных в стор\n */\n public getItemsPart$ = (loc:string, options :anyEntityOptions = undefined) =>{\n \n return of(options).pipe(\n mergeMap( x => !!x ? of(x) : this.store.select( fromSelectors.selectDataOptionsByLoc(loc)) ),\n filter( x => !!x ),\n combineLatest( this.dataService.items$(loc) , (o,d) => ({opt:o, data: Array.isArray(d) ? d : [d] }) ), // 201119 Array.isArray(d) ? d : [d] \n map( x => ({ entites:x.data , ids: x.data.map( y => x.opt.selectId(y) ) , request:loc}) ),\n );\n \n \n // this.store.select( fromSelectors.selectDataOptionsByLoc(loc)).pipe(\n // filter( x => !!x ),\n // combineLatest( this.dataService.items$(loc) , (o,d) => ({opt:o, data:d})),\n // //tap( x=> console.log(x) ),\n // map( x => ({ entites:x.data , ids: x.data.map( y => x.opt.selectId(y) ) , request:loc}) ),\n // //tap( x=> console.log(x) )\n // ); \n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { FieldDescribe, ValidatorFn } from '@appModels/metadata';\nimport { Validators } from '@angular/forms';\n\n\n/**\n * Бля, 191218 получение референсных данных посредством стора: \n * 1. получение контекстнонезависимой подписки:\n * Итак, на каком этапе ? \n * a. На этапе ресолвинга \n * минусы - не подходит (или усложняется) для контекстно зависимых подписок (не универсален)\n * плюсы не надо делать диспатчи из контрола\n * б. На этапе активации подписчиков (контролов формы)\n * \n * \n * 2. получение контекстнозависимой подписки\n */\n\n\ninterface IMetadata{\n [propertyName: string]: any; \n}\n\ntype defFooType = (src:any, tg:any )=> any ;\nconst defFoo = (x,y) => y\n\n// это похоже тип который я добавляю сям на бакэнде из рутовых метаданных\nconst IS_FIELD_TAG_BEGIN = \"[\"; \nconst IS_FIELD_TAG_END = \"]\";\nconst ADD_META_TYPE_KEY_NAME = IS_FIELD_TAG_BEGIN + \"Type\"+IS_FIELD_TAG_END;\n\nconst METADATA_GROUP_DEVIDER : string = \".\" \n\nconst RANGE_DEF_ERROR = \"Значение не попадает в допустимый диапазон\";\nconst REQUERD_DEF_ERROR = \"Значение обязательно для ввода\";\nconst PATERN_DEF_ERROR = \"Не верный формат\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MetadataAdaptService {\n\n constructor() { }\n\n /**\n * \n */\n public toFieldDescribe = ( source:any, tag:any = undefined, toDefault:defFooType = defFoo ) =>{\n const md = source as IMetadata;\n //console.log(md);\n return md ? this.toFieldDescribeFunc(md, toDefault(md,tag)):undefined ;\n } \n \n\n /** \n * Convert metadata item to FieldDescribe type\n **/\n private toFieldDescribeFunc = ( data:IMetadata, defVal:string) => ({\n id: defVal,\n altId: this.fieldNameBung(defVal),\n foreignKey: this.existOrVal(data, [\"ForeignKey\", \"ForeignKey.Name\"],\"\"), \n //this.metaHelper.existOrVal(data, [ADD_META_TYPE_KEY_NAME],\"string\"),\n type: this.existOrValFunc(data,[\n {atr:\"DataType\", fn: (x => x==1 ? \"DateTime\" : null )},\n {atr:\"DataType\", fn: (x => x==2 ? \"Date\" : null )},\n {atr:\"DataType\", fn: (x => x==7 || x==6 || x==9 ? \"Text\" : null )},\n {atr:\"DataType\", fn: (x => x==8 ? \"Html\" : null )},\n {atr:ADD_META_TYPE_KEY_NAME, fn: (x => x)} \n ],undefined), //string\n\n name: this.existOrVal(data, [\"DisplayName\", \"Display.Name\"] ,defVal),\n description: this.existOrVal(data, [\"Description\", \"Display.Description\"] ,undefined),\n //visible : this.metaHelper.existOrVal(data, [\"Editable.AllowEdit\"] , true ), // нецелевое использование \n visible : this.buildIsVisible(data, defVal), \n required: this.existOrValFunc(data,[\n {atr:\"Required\", fn: (x => x)},\n {atr:\"Required.AllowEmptyStrings\", fn: (x => !x)} \n ],false), \n defaultValue: undefined, \n length: undefined,\n validators: this.buildValidators(data, defVal),\n validationMessages: this.buildvalidationMessages(data, defVal),\n order: this.existOrVal(data, [\"Display.Order\"] , undefined ),\n editable: this.buildIsEditable(data, defVal),\n group: this.existOrVal(data, [\"Display.GroupName\"] , undefined ), \n\n\n }) as FieldDescribe;\n\n\n /**\n * See must field is Visible \n */\n private buildIsVisible = (data:IMetadata, defVal:string) =>\n this.existOrValFunc(data, [{atr:\"Display.AutoGenerateField\", fn: x => !x } ] , true ) ||\n this.existOrValFunc(data, [{atr:\"Display.AutoGenerateFilter\", fn: x => !x } ] , false ) ; \n\n /**\n * See must field is ReadOnly (Editable) \n */\n private buildIsEditable = (data:IMetadata, defVal:string) => \n this.existOrValFunc(data, [{atr:\"Editable.AllowEdit\", fn: x => x } ] , true ) && \n this.existOrValFunc(data, [{atr:\"ReadOnly.IsReadOnly\", fn: x => !x } ] , true ) ; \n\n /**\n * Build simple field val validator by metadata\n */\n private buildValidators(data:IMetadata, defVal:string){\n var ret:ValidatorFn[] = [];\n return ret\n .concat( this.defineOrValFunc( data,\n [{atr: \"Range.Minimum\", fn:( x => [ Validators.min(x) ] )} ], [] )\n )\n .concat( this.defineOrValFunc( data,\n [{atr: \"Range.Maximum\", fn:( x => [ Validators.max(x) ] )} ], [] )\n )\n .concat( this.defineOrValFunc( data,\n [{atr: \"RegularExpression.Pattern\", fn:( x => [ Validators.pattern(x) ] )} ], [] )\n )\n .concat( this.defineOrValFunc( data, [\n {atr: \"Required\", fn:( x => [ Validators.required ] )} ,\n {atr:\"Required.AllowEmptyStrings\", fn: (x => x ? [] : [ Validators.required ] ) }\n ], [] )\n );\n } \n\n/**\n* Build simple field val validator by metadata\n* А я ченява, жопа кучерява...\n*/\nprivate buildvalidationMessages(data:IMetadata, defVal:string){\n var ret:{ key: string , val: string }[] = [];\n return ret\n .concat( this.defineOrValFuncIfExistGroup( data, \"Range\",\n [{atr: \"Range.ErrorMessage\", fn:( x => [ { key:\"min\" , val:x },{ key:\"max\" , val:x }]) } ],\n [ { key:\"min\", val:RANGE_DEF_ERROR },{ key:\"max\", val:RANGE_DEF_ERROR }], [] )\n )\n .concat( this.defineOrValFuncIfExistGroup( data, \"Required\",\n [{atr: \"Required.ErrorMessage\", fn:( x => [{ key:\"required\", val:x }]) } ],\n [{ key:\"required\", val:REQUERD_DEF_ERROR }], [] )\n )\n .concat( this.defineOrValFuncIfExistGroup( data, \"RegularExpression\",\n [{atr: \"RegularExpression.ErrorMessage\", fn:( x => [{ key:\"pattern\", val:x }]) } ],\n [{ key:\"pattern\", val:PATERN_DEF_ERROR }], [] )\n )\n .reduce( (acc,i) => { acc[i.key] = i.val ; return acc; } , {} ) \n} \n\n /** 170418 Чета я не понимаю, при выборке данных посредством entyty \n * с регистром лэйблов происходят чудеса\n * нужна затычка до выяснения обстоятельств такого поведения. :( \n * Преобразует оригинальное (сикульно-ентитивое) имя поля в формат приходящий с сервиса бакенда\n **/\n private fieldNameBung = (origName: string) => origName.toUpperCase() == origName ? origName.toLowerCase() : origName[0].toLowerCase() + origName.substring(1);\n\n // METADATA HELPER -------------------------------------------\n ifNull = (val: any, valDef: any) => (val === null) ? valDef : val;\n ifNullOrUndef = (val: any, valDef: any) => (val === null || val === undefined) ?valDef: val ;\n\n valueOf = (source: IMetadata, key: string) => source[key];\n //firstValueOf = (source: IMetadata, keys: string[]):any => keys.map( x => this.valueOf(source, x ) ).find( (e,i,a) => e != undefined )\n\n firstValueOf(source: IMetadata, keys: string[]): any {\n var ret: any = null;\n for (var s in keys) {\n var v = this.valueOf(source, keys[s]);\n if (v != undefined) { ret = v; break; }\n }\n return ret;\n } \n \n valueOfFunc = (source: IMetadata, keyAcc: { atr:string, fn:((any) => any)} ) => {\n const v = this.valueOf(source, keyAcc.atr);\n return (v == undefined || v == null ) ? v: keyAcc.fn( this.valueOf(source, keyAcc.atr));\n }\n\n firstValueOfFunc(source: IMetadata, keysAcc: { atr:string, fn:( (src: any) => any)}[]) {\n var ret: any = null;\n for (var s in keysAcc) {\n var v = this.valueOfFunc(source, keysAcc[s]); \n if (v != undefined ) {ret = v; break;}\n }\n return ret;\n }\n\n\n existOrVal = (source: IMetadata, keys: string[], defVal: any) => this.ifNull( this.firstValueOf(source, keys), defVal );\n\n /**\n * Принимает метаданные и массив объектов : ключ, функция. При наличии в метаданных ключа возвращает значение функции от значения метаданных...\n */\n existOrValFunc = (source: IMetadata, keysAcc: { atr:string, fn:( (src: any) => any)}[], defVal: any) => this.ifNull( this.firstValueOfFunc(source, keysAcc), defVal );\n\n /**\n * Принимает метаданные и массив объектов : ключ, функция. При наличии в метаданных дефайнед ключа возвращает значение функции от значения метаданных...\n */\n defineOrValFunc = (source: IMetadata, keysAcc: { atr:string, fn:( (src: any) => any)}[], defVal: any) => this.ifNullOrUndef( this.firstValueOfFunc(source, keysAcc), defVal ); \n\n //180718\n /**\n * Detect metadata is contains keyGroup\n */ \n existGroup = (source: IMetadata, keyGroup: string, groupDevider: string = METADATA_GROUP_DEVIDER ) => \n Object.keys(source)\n .filter( x => x.includes(groupDevider) )\n .map( x => x.substring(0, x.indexOf(groupDevider)))\n .some( x => x === keyGroup );\n\n /**\n * Проверяет наличие в метаданных группы keyGroup и если таковая есть проверяет наличие defined значения ключа метаданных keysAcc.atr \n * при наличии первого попавшегося возвращает результат соотв. функции keysAcc.fn если ни один keysAcc.atr не найден то defVal. \n * А если нету группы то noGroupVal\n */\n defineOrValFuncIfExistGroup = (source: IMetadata, keyGroup: string, keysAcc: { atr:string, fn:( (src: any) => any)}[], defVal: any, noGroupVal: any ) => \n this.existGroup( source, keyGroup ) ? this.defineOrValFunc(source, keysAcc, defVal) : noGroupVal ;\n\n \n \n\n}\n\n\n","import { Injectable } from '@angular/core';\nimport { DataProvService } from '../data-prov.service';\nimport { tap, map, mergeAll, toArray, mergeMap, combineLatest, reduce, catchError } from 'rxjs/operators';\nimport { FieldDescribe} from '@appModels/metadata';\nimport { Observable, from } from 'rxjs';\nimport { MetadataAdaptService } from './metadata-adapt.service';\n\nconst IS_FIELD_TAG_BEGIN = \"[\"; \nconst IS_FIELD_TAG_END = \"]\";\nconst ADD_META_TYPE_KEY_NAME = IS_FIELD_TAG_BEGIN + \"Type\"+IS_FIELD_TAG_END;\nconst META_FIELDNAME_KEY_NAME = IS_FIELD_TAG_BEGIN + \"id\"+IS_FIELD_TAG_END;\n\n\nconst MODULE_NAME = 'Johny Galon';\nconst COMPONENT_NAME = 'MetadataEngineService ';\nconst log = (msg:any) => ( console.log(\"[\"+MODULE_NAME+\"]\"+\"[\"+COMPONENT_NAME+\"] \" + msg ) );\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MetadataProvService {\n \n constructor(\n private dataService: DataProvService,\n private adapterService: MetadataAdaptService\n ) { }\n\n\n public metadata$(loc:string ):Observable{ \n const r$ = this.loadMetadata3(loc); //loadMetadata2\n //r$.subscribe( x=> console.log(x));\n return r$;\n }\n\n\n private loadMetadata3 = (loc:string ) => {\n const tmeta$ = this.dataService.metadata$(loc);\n\n const fdesc$ = tmeta$.pipe(\n map(this.toFieldsType),\n mergeMap( x => from(Object.keys(x)).pipe(\n mergeMap( f => this.getFieldDescr$(loc, f, x[f] )),\n //tap(x=>console.log(x)),\n reduce( (a,f) => ({...a, [f.id]:f}), {} as FieldDescribe ),\n //tap(x=>console.log(x)),\n )),\n );\n\n return tmeta$.pipe( \n combineLatest( fdesc$ , (v1,v2) => ({table:v1 ,fieldsDesc: v2 }) )\n //, tap(x=>console.log(x)) \n ); \n }; \n\n private getFieldDescr$ = (loc:string, id:string, typeSeed:string ) =>\n this.dataService.metadata$(loc, id)\n .pipe( catchError( error => ([{[META_FIELDNAME_KEY_NAME]:id}])) )\n .pipe( \n map( x => this.adapterService.toFieldDescribe(x, META_FIELDNAME_KEY_NAME, (x,t) => x[t] )),\n map( x => ({...x, type:(x.type === undefined ? typeSeed : x.type) }) )\n );\n \n\n /**\n * Convert table metadata to fields list\n */\n private toFieldsType = (data:any) => {\n const isField = (key:string) => key.length > 2 && key[0]== IS_FIELD_TAG_BEGIN && key[key.length-1] == IS_FIELD_TAG_END ; \n const clear = (key:string) => key.length > 2 ? key.substring(1, key.length - 1) : key ;\n return Object.getOwnPropertyNames(data)\n .filter(isField)\n .reduce( (a,i) => ({ ...a, [clear(i)]:data[i] }) , {} )\n } \n \n \n private loadMetadata2 = (loc:string ) => {\n const tMeta$ = this.dataService.metadata$(loc);\n const fList$ = tMeta$.pipe( map( x => this.toFieldsList(x)) )\n const fListDesc$ = fList$.pipe(\n //tap( x => console.log(x) ),\n map( x => x.map( x => this.dataService.metadata$(loc, x).pipe( catchError( error => ([{ [META_FIELDNAME_KEY_NAME]:x}]) )))), \n //tap( x => console.log(x) ),\n mergeMap( x => from(x).pipe(mergeAll(),toArray())), \n map( x => x.map( x=> this.adapterService.toFieldDescribe(x, META_FIELDNAME_KEY_NAME, (x,t) => x[t] ) )), \n map( x => x.reduce((a,e) => ({...a, [e.id]:e }) , {}) )\n )\n\n return tMeta$.pipe(\n combineLatest( fListDesc$, (v1,v2) => ({table:v1 ,fieldsDesc: v2 }) )\n )\n }\n\n // public metadata$(loc:string ):Observable{\n // const r$ = \n // this.loadMetadata(loc).pipe(\n // map( x => x.reduce( (a,e) => ({...a, [e.name]:e }) , {} ) )\n // );\n // r$.subscribe( x=> console.log(x));\n // return r$;\n // }\n \n /**\n * Prepare metadata\n */\n private loadMetadata = ( loc:string ) => \n this.dataService.metadata$(loc).pipe(\n tap( x => console.log(x) ),\n map( x => ({table:x ,fieldsDesc: this.toFieldsDescribe(loc, x)}) ),\n tap( x => console.log(x) ), \n ) \n \n \n // {\n // const tablMeta$ = this.dataService.metadata$(loc);\n // const fieldsDesc$ = this.\n\n // return tablMeta$.pipe(\n // combineLatest( fieldsDesc$ , (f,d) => { } )\n // )\n // }\n\n // /**\n // * Prepare metadata\n // */\n // private loadMetadata = ( loc:string ) => \n // this.dataService.metadata$(loc).pipe(\n // map( x => this.toFieldsList(x) ),\n // map( x => x.map( fld => this.dataService.metadata$(loc, fld ) ) ),\n // mergeMap( x => from(x).pipe(mergeAll(),toArray())),\n // map( x => x.map( x=> this.adapterService.toFieldDescribe(x, META_FIELDNAME_KEY_NAME, (x,t) => x[t] ) ))\n // );\n\n /**\n * Convert table metadata to FieldDescribe[]$\n */\n private toFieldsDescribe = (loc:string, tableMeta:any) =>{ \n const fieldsMetadata = \n this.toFieldsList(tableMeta)\n .map( fld => this.fldToFieldsDescribe$(loc, fld));\n\n console.log(fieldsMetadata);\n\n return from(fieldsMetadata).pipe(\n mergeAll(),\n reduce( (a,e) => ({...a, [e.name]:e }) , {} as FieldDescribe ) , \n tap(x=>console.log(x))\n )\n }\n \n /**\n * get FieldDescr by fieldName\n */\n private fldToFieldsDescribe$ = (loc:string, fieldName:string ) => \n this.dataService.metadata$(loc, fieldName ).pipe( \n map( x => this.adapterService.toFieldDescribe(x, META_FIELDNAME_KEY_NAME, (x,t) => x[t] ) ) , \n tap(x=>console.log(x))\n )\n \n // private toFieldsDescribe = (loc:string, tableMeta$:Observable) => \n // tableMeta$.pipe(\n // map( x => this.toFieldsList(x) ),\n // map( x => x.map( fld => this.dataService.metadata$(loc, fld ) ) ),\n // mergeMap( x => from(x).pipe(mergeAll(),toArray())),\n // map( x => x.map( x=> this.adapterService.toFieldDescribe(x, META_FIELDNAME_KEY_NAME, (x,t) => x[t] ) )),\n // map( x => x.reduce( (a,e) => ({...a, [e.name]:e }) , {} ) )\n // ) \n \n\n\n\n /**\n * Convert table metadata to fields list\n */\n private toFieldsList = (data:any) => {\n const isField = (key:string) => key.length > 2 && key[0]== IS_FIELD_TAG_BEGIN && key[key.length-1] == IS_FIELD_TAG_END ; \n const clear = (key:string) => key.length > 2 ? key.substring(1, key.length - 1) : key ;\n return Object\n .getOwnPropertyNames(data)\n .filter(isField)\n .map(clear) ;\n }\n\n \n\n\n //******************************************************************************************************************** */\n private getFD():FieldDescribe {\n return ({ name: \"\", description: '', id: '', altId: '', foreignKey: '', type: '', visible: true, required: true, editable: true, defaultValue: null })\n } \n\n\n\n\n}\n","import { Dictionary } from \"@ngrx/entity\";\r\n\r\n/**\r\n * Helper for metadata \r\n * Pure function accumulator \r\n * \r\n * 15 01 2019 \r\n */\r\n\r\nconst MD_T_KEY_PROP_NAME = 'Key';\r\nconst MD_T_LABEL_PROP_NAME = 'DisplayColumn';\r\n\r\nconst OPTION_ID_NAME = 'key';\r\nconst OPTION_LABEL_NAME = 'value';\r\n\r\nconst MD_DISP_COL_NAMES = ['Name','name','NAME'];\r\n\r\n/**\r\n * Ret id prop from metadata\r\n*/\r\nexport const getMdKeyName = (meta:{}) => (MD_T_KEY_PROP_NAME in meta)?meta[MD_T_KEY_PROP_NAME]:undefined;\r\n\r\n/**\r\n * Ret label prop from metadata\r\n*/\r\nexport const getMdLabelName = (meta:{}) => (MD_T_LABEL_PROP_NAME in meta)?meta[MD_T_LABEL_PROP_NAME]:undefined;\r\n\r\n/**\r\n * Ret option dataset for entities and metadata\r\n*/\r\nexport const getMdOptons = ( data:{}[] , meta:{}) => {\r\n const getProp = ( o:{} , p:string ) => !!p&&!!o ? ( (p in o) ? o[p]:undefined ):undefined; \r\n return data.map( x => ({ [OPTION_ID_NAME]:getProp(x, getMdKeyName(meta)), [OPTION_LABEL_NAME]:getProp(x, getMdLabelName(meta)) }) ) ;\r\n}\r\n\r\n/*\r\n**\r\n*/\r\nexport const getAltFrendlyName = (rec:{}, alt:any ) => {\r\n const r = MD_DISP_COL_NAMES.reduce( (a,i) => a ? a : ( rec.hasOwnProperty(i)?rec[i]:undefined) , undefined ) ;\r\n return r?r:alt; \r\n} \r\n \r\n \r\n\r\n/*\r\n** Ret option dataset for entities and metadata\r\n*/\r\nexport const getMdOptonsFromDict = ( data:Dictionary , meta:{}) => getMdOptons( Object.keys(data).map( x => data[x] ), meta ) ;\r\n\r\nexport const getRowVal = (id:any, data:Dictionary , meta:{}) => \r\n{\r\n console.log(id);\r\n const a= !data.hasOwnProperty(id)\r\n ? null \r\n : data[id].hasOwnProperty(getMdKeyName(meta)) \r\n ? data[id][getMdKeyName(meta)]\r\n : getAltFrendlyName(data[id],id) \r\n return a; \r\n} \r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { anyEntityOptions } from '@appModels/any-entity';\r\nimport { anyEntityActions } from './any-entity.actions';\r\n\r\n\r\n\r\nexport enum AnyEntitySetActionTypes {\r\n ADD_ANY_ENTITY = '[Entity set] Add any entity',\r\n PREPARE_BY_LOC = '[Entity set] Try prepare entity by location',\r\n PREPARE_BY_LOC_COMPLETE = '[Entity set] Prepare entity by location completed',\r\n PART_LOAD_BY_LOC = '[Entity set] Load data by resolved location',\r\n SET_CURRENT = '[Entity set] Set current entity', \r\n EXEC_CURENT = '[Entity set] Execute current entity' ,\r\n EXEC = '[Entity set] Execute' ,\r\n EXEC_ANY_ENTITY_ACTION = '[Entity set] Entyty action executing' ,\r\n COMPLETE_ANY_ENTITY_ACTION = '[Entity set] Entyty action chain completed' ,\r\n EROR_ANY_ENTITY_SET = '[Entity set] Error' ,\r\n JAB_STATE = '[Entity set] Jab (pure state change)' \r\n}\r\n\r\nexport class PartLoadByLoc implements Action {\r\n readonly type = AnyEntitySetActionTypes.PART_LOAD_BY_LOC\r\n //reduserData: { needPrepare:boolean };\r\n constructor(public payload: string ) { }\r\n}\r\n\r\n\r\nexport class PrepareByLoc implements Action {\r\n readonly type = AnyEntitySetActionTypes.PREPARE_BY_LOC\r\n reduserData: {isExistEntyty:boolean,\r\n isDbl:boolean }\r\n constructor(public payload: string ) { }\r\n}\r\n\r\nexport class PrepareByLocComplete implements Action {\r\n readonly type = AnyEntitySetActionTypes.PREPARE_BY_LOC_COMPLETE\r\n constructor(public payload: boolean ) { }\r\n}\r\n\r\nexport class Jab implements Action {\r\n readonly type = AnyEntitySetActionTypes.JAB_STATE\r\n constructor( ) { }\r\n}\r\n\r\nexport class AddItem implements Action {\r\n readonly type = AnyEntitySetActionTypes.ADD_ANY_ENTITY\r\n constructor(public payload: anyEntityOptions ) { }\r\n}\r\n\r\nexport class SetCurrent implements Action {\r\n readonly type = AnyEntitySetActionTypes.SET_CURRENT\r\n constructor(public payload: string ) { }\r\n}\r\n\r\nexport class Exec implements Action {\r\n readonly type = AnyEntitySetActionTypes.EXEC\r\n reduserData: anyEntityOptions;\r\n constructor(public payload: {name:string, itemAction: anyEntityActions } ) {}\r\n}\r\n\r\nexport class ExecCurrent implements Action {\r\n readonly type = AnyEntitySetActionTypes.EXEC_CURENT\r\n reduserData: string; // курент\r\n constructor(public payload: anyEntityActions ) {}\r\n}\r\n\r\nexport class ExecItemAction implements Action {\r\n readonly type = AnyEntitySetActionTypes.EXEC_ANY_ENTITY_ACTION\r\n constructor(public payload: {itemOption:anyEntityOptions , itemAction: anyEntityActions } ) {}\r\n}\r\n\r\nexport class CompleteItemAction implements Action {\r\n readonly type = AnyEntitySetActionTypes.COMPLETE_ANY_ENTITY_ACTION\r\n constructor(public payload: {name:string} ) {}\r\n}\r\n\r\nexport class ErrorAnyEntitySet implements Action {\r\n readonly type = AnyEntitySetActionTypes.EROR_ANY_ENTITY_SET;\r\n constructor(public payload: any) {}\r\n} \r\n\r\nexport type AnyEntitySetAction =\r\n | PartLoadByLoc\r\n | PrepareByLocComplete\r\n | PrepareByLoc\r\n | Exec\r\n | ExecCurrent\r\n | AddItem\r\n | SetCurrent\r\n | ExecItemAction\r\n | CompleteItemAction\r\n | ErrorAnyEntitySet \r\n | Jab\r\n;","import { Action } from \"@ngrx/store\";\r\n//import { FieldDescribes } from \"@appModels/metadata\";\r\n\r\n// Для GET_ITEMS_PART не совсем верная синтаксика надо повошкатся потом может быть скоректировать\r\n//\r\n\r\n\r\nexport enum AnyEntityActionTypes {\r\n \r\n GET_ITEMS = '[Entity] Load all items',\r\n GET_ITEMS_SUCCESS = '[Entity] All items loaded success ',\r\n\r\n GET_ITEMS_PART = '[Entity] Load one or some items',\r\n GET_ITEMS_PART_SUCCESS = '[Entity] One or some item loaded success',\r\n\r\n GET_ITEMS_META = '[Entity] Load items medadata',\r\n GET_ITEMS_META_SUCCESS = '[Entity] Item medadata loaded success',\r\n\r\n ADD_ITEM = '[Entity] Add item',\r\n ADD_ITEM_SUCCESS = '[Entity] Item added success',\r\n\r\n UPD_ITEM = '[Entity] Update item',\r\n UPD_ITEM_SUCCESS = '[Entity] Item uppdated success',\r\n\r\n GET_TEMPLATE = '[Entity] Load template',\r\n GET_TEMPLATE_ROWSEED = '[Entity] Load template and set in rowSeed',\r\n GET_TEMPLATE_SUCCESS = '[Entity] Item template loaded success',\r\n\r\n SET_ROW_SEED = '[Entity] Item rowseed set ', \r\n CHANGE_ROW_SEED = '[Entity] Applay data to rowseed set (changed)', \r\n\r\n EROR_ANY_ENTITY = '[Entity] Error',\r\n EROR_ANY_ENTITY_RESET = '[Entity] Error reset',\r\n\r\n JAB_STATE = '[Entity] Jab (pure state change)' \r\n}\r\n\r\nexport class Jab implements Action {\r\n readonly type = AnyEntityActionTypes.JAB_STATE\r\n constructor( ) { }\r\n}\r\n\r\nexport class GetItemsPart implements Action {\r\n readonly type = AnyEntityActionTypes.GET_ITEMS_PART;\r\n constructor(public payload: string , public isReload : boolean = false ) {}\r\n}\r\n\r\nexport class GetItemsPartSuccess implements Action {\r\n readonly type = AnyEntityActionTypes.GET_ITEMS_PART_SUCCESS;\r\n constructor(public payload: ({ entites: T[] , ids:any[], request:string }) , public isReload : boolean = false ) {}\r\n}\r\n\r\nexport class GetItems implements Action {\r\n readonly type = AnyEntityActionTypes.GET_ITEMS;\r\n constructor(public payload: any ) {}\r\n}\r\nexport class GetItemsSuccess implements Action {\r\n readonly type = AnyEntityActionTypes.GET_ITEMS_SUCCESS;\r\n constructor(public payload: T[] ) {}\r\n}\r\n\r\nexport class AddItem implements Action {\r\n readonly type = AnyEntityActionTypes.ADD_ITEM;\r\n constructor(public payload: T ) {}\r\n}\r\nexport class AddItemSuccess implements Action {\r\n readonly type = AnyEntityActionTypes.ADD_ITEM_SUCCESS;\r\n constructor(public payload: T ) {}\r\n}\r\n\r\nexport class UpdateItem implements Action {\r\n readonly type = AnyEntityActionTypes.UPD_ITEM;\r\n constructor(public payload: T ) {}\r\n}\r\n\r\nexport class UpdateItemSuccess implements Action {\r\n readonly type = AnyEntityActionTypes.UPD_ITEM_SUCCESS;\r\n constructor(public payload: any ) {}\r\n}\r\n\r\nexport class GetItemsMeta implements Action {\r\n readonly type = AnyEntityActionTypes.GET_ITEMS_META;\r\n reduserData: boolean;\r\n constructor() {}\r\n}\r\nexport class GetItemsMetaSuccess implements Action {\r\n readonly type = AnyEntityActionTypes.GET_ITEMS_META_SUCCESS;\r\n constructor(public payload: any ) {} //FieldDescribes\r\n}\r\n\r\nexport class GetTemplate implements Action {\r\n readonly type = AnyEntityActionTypes.GET_TEMPLATE;\r\n constructor() {}\r\n}\r\n\r\nexport class GetTemplateRowSeed implements Action {\r\n readonly type = AnyEntityActionTypes.GET_TEMPLATE_ROWSEED;\r\n constructor() {}\r\n}\r\n\r\nexport class GetTemplateSuccess implements Action {\r\n readonly type = AnyEntityActionTypes.GET_TEMPLATE_SUCCESS;\r\n constructor(public payload: T ) {} \r\n}\r\n\r\nexport class SetRowSeed implements Action {\r\n readonly type = AnyEntityActionTypes.SET_ROW_SEED;\r\n constructor(public payload: T ) {} \r\n\r\n}\r\n\r\nexport class ChangeRowSeed implements Action {\r\n readonly type = AnyEntityActionTypes.CHANGE_ROW_SEED;\r\n constructor(public payload: T ) {} \r\n}\r\n\r\nexport class ErrorAnyEntity implements Action {\r\n readonly type = AnyEntityActionTypes.EROR_ANY_ENTITY;\r\n constructor(public payload: any ) {}\r\n} \r\n\r\nexport class ErrorAnyEntityReset implements Action {\r\n readonly type = AnyEntityActionTypes.EROR_ANY_ENTITY_RESET;\r\n constructor() {}\r\n} \r\n\r\nexport type anyEntityActions =\r\n | GetItems\r\n | GetItemsSuccess\r\n | GetItemsPart\r\n | GetItemsPartSuccess\r\n | GetItemsMeta\r\n | GetItemsMetaSuccess\r\n | AddItem\r\n | AddItemSuccess\r\n | UpdateItem\r\n | UpdateItemSuccess\r\n | GetTemplate\r\n | GetTemplateRowSeed\r\n | GetTemplateSuccess\r\n | SetRowSeed\r\n | ChangeRowSeed\r\n | ErrorAnyEntity\r\n | ErrorAnyEntityReset \r\n | Jab\r\n ;","import { Action } from '@ngrx/store';\r\nimport { authingData, authingReqData } from '@appStore/reducers/environment.reduser';\r\n\r\nexport enum EnvironmentActionTypes {\r\n //AUTH_TRYING_LOGIN = '[Environment] Authentication trying external Login',\r\n AUTH_START = '[Environment] Start authentication (resived code)',\r\n AUTH_SUCCESS = '[Environment] Authentication success',\r\n AUTH_LOGOUT = '[Environment] Authentication Log out begin',\r\n AUTH_LOGOUT_SUCCESS = '[Environment] Authentication Log out success',\r\n AUTH_TOKEN_RECIVED = '[Environment] Authentication token received',\r\n \r\n ERROR_ENVIRONMENT = '[Environment] Error',\r\n ERROR_ENVIRONMENT_RESET = '[Environment] Error reset'\r\n}\r\n\r\n// export class AuthTryingLogin implements Action {\r\n// readonly type = EnvironmentActionTypes.AUTH_TRYING_LOGIN\r\n// constructor(public payload: any) {}\r\n// } \r\n\r\nexport class ErrorEnvironment implements Action {\r\n readonly type = EnvironmentActionTypes.ERROR_ENVIRONMENT\r\n constructor(public payload: any) {}\r\n} \r\n\r\nexport class AuthStart implements Action {\r\n readonly type = EnvironmentActionTypes.AUTH_START\r\n constructor(public payload: authingReqData ) {}\r\n} \r\n\r\nexport class AuthTokenReceived implements Action {\r\n readonly type = EnvironmentActionTypes.AUTH_TOKEN_RECIVED\r\n constructor(public authToken: string , public idToken: string) {}\r\n} \r\n\r\nexport class AuthSuccess implements Action {\r\n readonly type = EnvironmentActionTypes.AUTH_SUCCESS\r\n constructor(public payload: string) {}\r\n} \r\n\r\nexport class AuthLogout implements Action {\r\n readonly type = EnvironmentActionTypes.AUTH_LOGOUT\r\n constructor() {}\r\n}\r\n\r\nexport class AuthLogoutSucess implements Action {\r\n readonly type = EnvironmentActionTypes.AUTH_LOGOUT_SUCCESS\r\n constructor() {}\r\n} \r\n\r\nexport class ErrorEnvironmentReset implements Action {\r\n readonly type = EnvironmentActionTypes.ERROR_ENVIRONMENT_RESET\r\n constructor() {}\r\n} \r\n\r\n\r\nexport type EnvironmentAction =\r\n | ErrorEnvironment\r\n | AuthStart\r\n | AuthSuccess\r\n | AuthLogout\r\n | AuthLogoutSucess\r\n | AuthTokenReceived\r\n | AuthLogoutSucess\r\n | ErrorEnvironmentReset\r\n;","import { Action } from '@ngrx/store';\r\nimport { NavigationExtras } from '@angular/router';\r\n\r\nexport enum RouterActionTypes {\r\n go = '[Router] Go',\r\n back = '[Router] Back',\r\n forward = '[Router] Forward'\r\n}\r\n\r\nexport class Go implements Action {\r\n readonly type = RouterActionTypes.go;\r\n constructor(\r\n public payload: {\r\n path: any[];\r\n query?: object;\r\n extras?: NavigationExtras;\r\n }\r\n ) {}\r\n}\r\n\r\nexport class Back implements Action {\r\n readonly type = RouterActionTypes.back;\r\n}\r\n\r\nexport class Forward implements Action {\r\n readonly type = RouterActionTypes.forward;\r\n}\r\n\r\nexport type Actions = Go | Back | Forward;","import { Injectable } from \"@angular/core\";\r\nimport { Actions, Effect, ofType } from \"@ngrx/effects\";\r\n\r\nimport { of, from, Observable } from \"rxjs\";\r\n\r\nimport { map, mergeMap, catchError, tap, switchMap, filter, delayWhen, last, take } from \"rxjs/operators\";\r\n\r\n\r\nimport { AnyEntitySetActionTypes, Exec, ExecItemAction, CompleteItemAction, ExecCurrent, PrepareByLoc, PrepareByLocComplete, AddItem, PartLoadByLoc, ErrorAnyEntitySet } from \"@appStore/actions/any-entity-set.actions\";\r\nimport { anyEntityActions, AnyEntityActionTypes, GetItemsMetaSuccess, ErrorAnyEntity, GetTemplateSuccess, GetItemsSuccess, GetItemsPartSuccess, GetItemsPart, SetRowSeed, AddItemSuccess, UpdateItemSuccess } from \"@appStore/actions/any-entity.actions\";\r\nimport { anyEntityOptions } from \"@appModels/any-entity\";\r\n\r\nimport { MetadataProvService } from \"app/shared/services/metadata/metadata-prov.service\";\r\nimport { ForeignKeyService } from \"app/shared/services/foregin/foreign-key.service\";\r\nimport { DataProvService } from \"app/shared/services/data-prov.service\";\r\n//import { ErrorEnvironment, AuthStart } from \"@appStore/actions/environment.actions\";\r\nimport { BackProvService } from \"app/shared/services/back-prov.service\";\r\nimport { ErrorHandlerService } from \"app/shared/services/error-handler.service\";\r\n\r\n//import { AnyEntityLazySetActionTypes, ExecItemAction, CompleteItemAction, Exec } from \"@appStore/actions/any-entity-lazy-set.actions\";\r\n//import { AnyEntityLazyActionTypes, anyEntityLazyActions, GetItemSuccess, GetItemNotFound } from \"@appStore/actions/any-entity-lazy.actions\";\r\n//import { anyEntityOptions } from \"@appModels/any-entity\";\r\n//import { anyEntityOptions } from \"@appStore/reducers/any-entity-lazy-set.reduser\";\r\n\r\nconst IERROR_OBJ_PROP_NAME = '_body';\r\nconst isJSONStr = (x) => \r\n (typeof x === 'string'|| x instanceof String)\r\n && /^[\\],:{}\\s]*$/.test(x.replace(/\\\\[\"\\\\\\/bfnrtu]/g, '@')\r\n .replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']')\r\n .replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''));\r\nconst prepareError = (er) => er.hasOwnProperty(IERROR_OBJ_PROP_NAME) && isJSONStr(er[IERROR_OBJ_PROP_NAME]) ? JSON.parse(er[IERROR_OBJ_PROP_NAME]) : er ; \r\n\r\n@Injectable()\r\nexport class anyEntytySetEffects {\r\n constructor(\r\n private actions$: Actions, \r\n private dataService: DataProvService,\r\n private metadataService: MetadataProvService,\r\n private foreignService: ForeignKeyService,\r\n private backProvService: BackProvService,\r\n private errorHandlerService: ErrorHandlerService\r\n) {}\r\n\r\n //const PrepareByLocBranch$ = ( loc:string ) \r\n // 151019 error handler\r\n @Effect() \r\n ErrorHandler$ = this.actions$.pipe( \r\n ofType(AnyEntitySetActionTypes.EROR_ANY_ENTITY_SET),\r\n tap(x=>console.log(x)),\r\n map(x=> new ErrorAnyEntitySet(null))\r\n );\r\n\r\n\r\n @Effect() \r\n PartLoadByLoc1$ = this.actions$.pipe(\r\n ofType(AnyEntitySetActionTypes.PART_LOAD_BY_LOC),\r\n //tap(x=> console.log('awwwwwwwwwwwwwwwwwaaaaaaaa')),\r\n delayWhen( (x:PartLoadByLoc) => \r\n this.foreignService.isPrepared$( x.payload ).pipe( filter(y=>!!y) ) //tap(x=>console.log(x))\r\n ),\r\n map( (x:PartLoadByLoc) => new Exec( {name:this.foreignService.locToName(x.payload) , itemAction: new GetItemsPart( x.payload)} ) ),\r\n tap(x=> console.log('part load act'))\r\n ) ; \r\n\r\n @Effect() // Если нет инфраструктуры для подгрузки то PrepareByLoc \r\n PartLoadByLocPre$ = this.actions$.pipe(\r\n ofType(AnyEntitySetActionTypes.PART_LOAD_BY_LOC),\r\n //tap(x=> console.log('PART_LOAD_BY_LOC')),\r\n mergeMap( (x:PartLoadByLoc) => \r\n this.foreignService.isPrepared$( x.payload ).pipe( take(1),\r\n //tap(x=> console.log(x)),\r\n map( y => y ? null: (new PrepareByLoc(x.payload))))\r\n ),\r\n //tap(x=> console.log('aaaaaaaaaaaaaaaaa')),\r\n //tap(x=> console.log(x)),\r\n filter(x=>!!x),\r\n tap(x=> console.log('prepare act'))\r\n \r\n ) ; \r\n\r\n // @Effect() \r\n // PrepareByLocPre$ = this.actions$.pipe(\r\n // ofType(AnyEntitySetActionTypes.PREPARE_BY_LOC),\r\n // tap(x=> console.log('PREPARE_BY_LOC_PRE')),\r\n // mergeMap( (x:PrepareByLoc) => x.reduserData.isExistEntyty ? of(null) : this.foreignService.buildOptions$(x.payload) ),\r\n // filter(x=>!!x),\r\n // map( x => new AddItem(x)),\r\n // tap(x=> console.log('add act'))\r\n // ) ; \r\n\r\n // PrepareByLocPre$ = this.actions$.pipe(\r\n // ofType(AnyEntitySetActionTypes.PREPARE_BY_LOC),\r\n // tap(x=> console.log('PREPARE_BY_LOC_PRE')),\r\n // mergeMap( (x:PrepareByLoc) => x.reduserData.isExistEntyty ? of(null) : this.foreignService.buildOptions$(x.payload) ),\r\n // filter(x=>!!x),\r\n // map( x => new AddItem(x)),\r\n // tap(x=> console.log('add act'))\r\n // ) ; \r\n\r\n @Effect() \r\n PrepareByLoc1$ = this.actions$.pipe(\r\n ofType(AnyEntitySetActionTypes.PREPARE_BY_LOC),\r\n //tap(x=> console.log('PREPARE_BY_LOC')),\r\n filter( (x:PrepareByLoc)=> !x.reduserData.isDbl),\r\n //tap(x=> console.log('PREPARE_BY_LOC cut dbls')),\r\n map( (x:PrepareByLoc) => x.payload),\r\n mergeMap( (loc:string) => this.foreignService.prepareForeignData$(loc)),\r\n //tap(x=> console.log('PEPARE_BY_LOC_COMPL:'+x)),\r\n filter( x => x),\r\n //tap(x=> console.log('PEPARE_BY_LOC_COMPL')),\r\n map( x => new PrepareByLocComplete(true) ) \r\n ) ; \r\n \r\n \r\n\r\n\r\n // @Effect() \r\n // PrepareByLoc1$ = this.actions$.pipe(\r\n // ofType(AnyEntitySetActionTypes.PREPARE_BY_LOC),\r\n // map( (x:PrepareByLoc) => x.payload),\r\n // mergeMap( (loc:string) => this.foreignService.isExist$(loc)),\r\n // filter( x => x),\r\n // map( x => new PrepareByLocComplete(true) ) \r\n // ) ; \r\n\r\n // @Effect() \r\n // PrepareByLoc2$ = this.actions$.pipe(\r\n // ofType(AnyEntitySetActionTypes.PREPARE_BY_LOC),\r\n // map( (x:PrepareByLoc) => x.payload),\r\n // mergeMap( (loc:string) => this.foreignService.isExist$(loc).pipe(map( x=>({ l:loc , exist:x }) )) ),\r\n // filter( x => !x.exist ),\r\n // mergeMap( x => this.foreignService.buildOptions$(x.l)),\r\n // map( x => new AddItem(x) ),\r\n // catchError(error => of(new ErrorAnyEntity(error)))\r\n // );\r\n\r\n @Effect() \r\n ExecAction$ = this.actions$.pipe(\r\n ofType(AnyEntitySetActionTypes.EXEC),\r\n //map( (x:Exec) => {console.log(x); return x } ),\r\n map( (x:Exec) => new ExecItemAction({ itemOption: x.reduserData, itemAction: x.payload.itemAction } )) \r\n )\r\n\r\n @Effect() //\r\n ExecCurentItemAction$ = this.actions$.pipe(\r\n ofType(AnyEntitySetActionTypes.EXEC_CURENT),\r\n //tap((x:ExecCurrent) => console.log('Exec curent'+ x.reduserData)),\r\n map( (x:ExecCurrent) => new Exec({ name: x.reduserData, itemAction: x.payload } )) \r\n )\r\n \r\n @Effect() //.insert(action.payload.location, action.payload.data)\r\n ExecItemAction$ = this.actions$.pipe(\r\n ofType(AnyEntitySetActionTypes.EXEC_ANY_ENTITY_ACTION),\r\n mergeMap( (x:ExecItemAction) => \r\n this.procNextSubAction$(\r\n x.payload.itemOption, \r\n this.procSubAction$( x.payload.itemAction, x.payload.itemOption )\r\n ) \r\n ),\r\n //tap(x=>console.log(x))\r\n\r\n ) \r\n\r\n // proceccing child items effects \r\n private procSubAction$ = ( action : anyEntityActions, options: anyEntityOptions ): Observable => {\r\n //console.log(action);\r\n switch(action.type){\r\n case ( AnyEntityActionTypes.UPD_ITEM_SUCCESS) :{\r\n console.log('eeeeeeee');\r\n return of( {opt:options, id: action.payload} ).pipe(\r\n tap(x => console.log(x) ),\r\n map(x => new GetItemsPart( x.opt.location + x.opt.selBack(x.id), true ) )\r\n )\r\n } \r\n case ( AnyEntityActionTypes.UPD_ITEM) :\r\n return this.dataService.update( options.location, action.payload )\r\n .pipe( \r\n tap( x => console.log(x) ),\r\n map( x => ({ isOk: x.hasOwnProperty('status') && x.status == 204,\r\n resp: x \r\n })),\r\n tap( x => { if(!x.isOk) { throw new Error('Запрос выполнен успешно, но ожидался другой код !')}} ), \r\n map( x => new UpdateItemSuccess(options.selectId(action.payload))) ,\r\n catchError(error => this.backProvService.actionErrorfromCatch$(error) )\r\n ); \r\n\r\n case ( AnyEntityActionTypes.ADD_ITEM) :\r\n return this.dataService.insert( options.location, action.payload )\r\n .pipe(\r\n //tap( x=> console.log(x) ),\r\n map( x => x.hasOwnProperty('_body')?JSON.parse(x['_body']):x ),\r\n //tap( x=> console.log(x) ),\r\n mergeMap( x => from( \r\n x.hasOwnProperty('Data')&&x['Data'].hasOwnProperty('id')\r\n && Array.isArray(x['Data']['id'])&&(x['Data']['id'][0]) \r\n && x['Data'].hasOwnProperty('Location')&& Array.isArray(x['Data']['Location'])&&(x['Data']['Location'][0]) \r\n ? [ new AddItemSuccess( x['Data']['id'][0] ) , new GetItemsPart(x['Data']['Location'][0]) ] //x['Data']['id'][0]\r\n : [ new AddItemSuccess(null)] \r\n )\r\n ),\r\n //tap( x=> console.log(x) ),\r\n //map( x => new AddItemSuccess(x) ),\r\n catchError(error => { console.log(isJSONStr(error )) ; return of(new ErrorAnyEntity(prepareError(error))) } ) \r\n //map( x => x.length > 0 ? new GetItemSuccess(x[0]) : new GetItemNotFound( action.payload ) )\r\n ); \r\n \r\n case ( AnyEntityActionTypes.GET_ITEMS_PART) :\r\n return this.foreignService.getItemsPart$( action.payload, options ) // 201119 add options\r\n .pipe(\r\n //tap( x=> console.log(x) ),\r\n map( x => new GetItemsPartSuccess(x, action.isReload) ),\r\n catchError(error => of(new ErrorAnyEntity(error))) \r\n //map( x => x.length > 0 ? new GetItemSuccess(x[0]) : new GetItemNotFound( action.payload ) )\r\n ); \r\n\r\n case ( AnyEntityActionTypes.GET_ITEMS_META ) :{\r\n return of(action.reduserData).pipe(\r\n //tap( x=> console.log(x) ),\r\n filter(x=>!x),\r\n //tap( x=> console.log(x) ),\r\n switchMap(()=>this.metadataService.metadata$( options.location ) )\r\n ).pipe(\r\n map(x => new GetItemsMetaSuccess(x) ),\r\n catchError(error => of(new ErrorAnyEntity(error))\r\n //.pipe(tap( x=> console.log(x) ))\r\n )\r\n ); \r\n\r\n // return this.metadataService.metadata$( options.location ) // options.selBack(action.payload)\r\n // .pipe(\r\n // map(x => new GetItemsMetaSuccess(x) ),\r\n // catchError(error => of(new ErrorAnyEntity(error)))\r\n // ); \r\n }\r\n case ( AnyEntityActionTypes.GET_TEMPLATE_ROWSEED ) : \r\n case ( AnyEntityActionTypes.GET_TEMPLATE ) :{\r\n //console.log('ssssssssssssss');\r\n return this.dataService.template$( options.location ) // options.selBack(action.payload)\r\n .pipe(\r\n //tap(x=> console.log(x)),\r\n map(x => action.type == AnyEntityActionTypes.GET_TEMPLATE_ROWSEED ? [new GetTemplateSuccess(x), new SetRowSeed(x)] :[new GetTemplateSuccess(x)] ),\r\n mergeMap( x => from(x) ),\r\n catchError(error => of(new ErrorAnyEntity(error)))\r\n ); \r\n }\r\n \r\n case ( AnyEntityActionTypes.GET_ITEMS ) :\r\n return this.dataService.items$( \r\n options.location, \r\n action.payload ? options.selBack(action.payload) : undefined // 060219 this.dataService.items$( options.location, options.selBack(action.payload) )\r\n ).pipe(\r\n //tap( x=> console.log(x) ),\r\n map( x => new GetItemsSuccess(x) ),\r\n catchError(error => of(new ErrorAnyEntity(error))) \r\n //map( x => x.length > 0 ? new GetItemSuccess(x[0]) : new GetItemNotFound( action.payload ) )\r\n ); \r\n\r\n case ( AnyEntityActionTypes.EROR_ANY_ENTITY ) :{\r\n\r\n return this.errorHandlerService.AnyEntityLevelHandling$( action , options ).pipe( \r\n map( x => ({ freeAction:x }))\r\n ) ;\r\n\r\n // return of({\r\n // fromError: action.payload&&action.payload.status?action.payload.status:undefined,\r\n // fromSource: action.payload&&action.payload.url?action.payload.url:undefined,\r\n // tag:'NVAVIA'\r\n // }).pipe( \r\n // tap( x=> console.log(action.payload) ),\r\n // map( x => x.fromError && x.fromError == 401 ? { freeAction: new AuthStart(x) } : null) //new AuthStart(x) : new AuthStart(x)) \r\n // )\r\n } \r\n \r\n default:\r\n return of(null);\r\n }\r\n } \r\n \r\n private procNextSubAction$ = ( options: anyEntityOptions, act$: Observable ): Observable => \r\n act$.pipe( \r\n //tap( x=> console.log(x) ),\r\n map(x => x != null \r\n ? x.freeAction \r\n ? x.freeAction \r\n : new ExecItemAction( { itemOption:options, itemAction: x } ) \r\n : new CompleteItemAction({ name: options.name } ) // null \r\n ),\r\n //tap( x=> console.log(x) )\r\n ); \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, Effect, ofType } from \"@ngrx/effects\";\r\nimport { EnvironmentActionTypes, ErrorEnvironment, AuthTokenReceived, AuthStart } from \"@appStore/actions/environment.actions\";\r\nimport { map, tap, catchError, mergeMap, filter } from \"rxjs/operators\";\r\nimport { AuthService } from \"app/shared/services/auth.service\";\r\nimport { of } from \"rxjs\";\r\n\r\n\r\n@Injectable()\r\nexport class EnvironmentEffects {\r\n constructor(\r\n private actions$: Actions ,\r\n private authService: AuthService\r\n ){}\r\n \r\n //const PrepareByLocBranch$ = ( loc:string ) \r\n //151019 error handler\r\n @Effect() \r\n AuthHandler$ = this.actions$.pipe( \r\n ofType(EnvironmentActionTypes.AUTH_START),\r\n filter( (x:AuthStart ) => x.payload && !!x.payload.tag ),\r\n //mergeMap( x => this.authService.LoginFS3$(300)),\r\n //mergeMap( x => this.authService.Login(300)),\r\n mergeMap( x => this.authService.LoginByReq(x.payload,300)),\r\n catchError(error => of(new ErrorEnvironment(error)))\r\n \r\n );\r\n\r\n @Effect() \r\n AuthLogOut$ = this.actions$.pipe( \r\n ofType(EnvironmentActionTypes.AUTH_LOGOUT),\r\n //tap( x => console.log(x) ),\r\n mergeMap( x => this.authService.Logout(0)),\r\n catchError(error => of(new ErrorEnvironment(error)))\r\n //map( x => this.authService.getFSLogoutUri().subscribe(x=>console.log(x))),\r\n \r\n );\r\n\r\n // Request JWT Token from special Backend Auth Service\r\n @Effect() \r\n AuthLogIn$ = this.actions$.pipe( \r\n ofType(EnvironmentActionTypes.AUTH_SUCCESS),\r\n mergeMap( x => this.authService.authToken$()),\r\n //mergeMap( x => this.authService.authTokenRequest$()),\r\n catchError(error => of(new ErrorEnvironment(error)))\r\n );\r\n\r\n} ","import { Injectable } from '@angular/core';\r\nimport { Router, ActivationEnd } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { Effect, Actions } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { tap, map, filter } from 'rxjs/operators';\r\nimport * as fromRouterActions from '@appStore/actions/router.actions';\r\nimport * as fromStore from '@appStore/index'\r\n\r\n@Injectable()\r\nexport class RouterEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private router: Router,\r\n private location: Location,\r\n //private store: Store\r\n ) {\r\n //this.listenToRouter();\r\n }\r\n\r\n @Effect({ dispatch: false })\r\n navigate$ = this.actions$.ofType(fromRouterActions.RouterActionTypes.go).pipe(\r\n map((action: fromRouterActions.Go) => action.payload),\r\n tap(() => console.log(this.location)),\r\n tap(({ path, query: queryParams, extras }) => {\r\n this.router.navigate(path, { queryParams, ...extras });\r\n }),\r\n tap(()=>console.log(this.location) )\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n navigateBack$ = this.actions$\r\n .ofType(fromRouterActions.RouterActionTypes.back)\r\n .pipe(\r\n tap(() => console.log(this.location)),\r\n tap(() => this.location.back())\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n navigateForward$ = this.actions$\r\n .ofType(fromRouterActions.RouterActionTypes.forward)\r\n .pipe(\r\n tap(() => console.log(this.location)),\r\n tap(() => this.location.back())\r\n );\r\n\r\n\r\n //*****************************************/\r\n // private listenToRouter() {\r\n // this.router.events.pipe(\r\n // filter(event => event instanceof ActivationEnd)\r\n // ).subscribe((event: ActivationEnd) =>\r\n // this.store.dispatch(new fromRouterActions.Go({path: [event.snapshot.routeConfig.path] }))\r\n // );\r\n // }\r\n}","import { ActionReducerMap } from '@ngrx/store';\r\nimport * as fromReducers from './reducers';\r\n\r\nimport { RouterReducerState, routerReducer } from '@ngrx/router-store';\r\n//import { RouterStateUrl } from './router';\r\nimport { RouterEffects } from './effects/router.effects';\r\nimport { RouterStateUrl } from './router';\r\nimport { anyEntytySetEffects } from './effects/any-entity-set.effects';\r\nimport { EnvironmentEffects } from './effects/environment.effects';\r\n\r\n\r\nexport interface State {\r\n data:fromReducers.anyEntitySet.State;\r\n router: RouterReducerState;\r\n environment:fromReducers.environment.State;\r\n}\r\n \r\nexport const reducers: ActionReducerMap = {\r\n data:fromReducers.anyEntitySet.reducer,\r\n router: routerReducer,\r\n environment:fromReducers.environment.reducer\r\n};\r\n \r\n\r\nexport const effects = [ anyEntytySetEffects ,RouterEffects, EnvironmentEffects];","import { anyEntityOptions } from \"@appModels/any-entity\";\r\nimport { anyEntityActions } from \"@appStore/actions/any-entity.actions\";\r\nimport { AnyEntytyState } from \"./any-entity.reduser\";\r\nimport { AnyEntitySetAction, AnyEntitySetActionTypes, ExecItemAction } from \"@appStore/actions/any-entity-set.actions\";\r\nimport * as fromEntityReduser from \"./any-entity.reduser\"\r\nimport { locationToName } from \"app/shared/services/foregin/foreign-key.helper\";\r\n\r\n// \r\nexport interface AnyEntytySetItemState {\r\n state : AnyEntytyState,\r\n option : anyEntityOptions,\r\n action? : anyEntityActions \r\n} \r\n\r\n\r\n// key as location\r\nexport interface State { \r\n items: { [key: string]: AnyEntytySetItemState }; // poot datas\r\n currentId?: string ; // active Entity name \r\n prepareQueue: string[]; // \r\n preparing?: string;\r\n error: any ;\r\n jab: boolean;\r\n}\r\n\r\nexport const initialState: State = {\r\n items: ({}),\r\n currentId:null,\r\n prepareQueue:[],\r\n preparing: null,\r\n error:null,\r\n jab: true\r\n};\r\n\r\nexport function reducer(state :State = initialState, action: AnyEntitySetAction): State {\r\n //console.log( action) ;\r\n \r\n switch (action.type) {\r\n \r\n case AnyEntitySetActionTypes.PART_LOAD_BY_LOC:{ \r\n //console.log(action.payload);\r\n //action.reduserData = {...action.reduserData, needPrepare: } \r\n return state ; //{ ...state , jab:!state.jab}; \r\n } \r\n\r\n case AnyEntitySetActionTypes.PREPARE_BY_LOC_COMPLETE: {\r\n const que = state.prepareQueue.length > 0 ? state.prepareQueue.slice(1,state.prepareQueue.length) : [];\r\n return { ...state,\r\n preparing: (state.prepareQueue.length > 0 ? state.preparing[0] : null ),\r\n prepareQueue: que, \r\n }\r\n };\r\n case AnyEntitySetActionTypes.PREPARE_BY_LOC:{\r\n // 080219 отбрасываем повторы\r\n const iNotDoble = (!state.preparing || state.prepareQueue.indexOf(action.payload)<0)\r\n\r\n action.reduserData = ({ isExistEntyty:(locationToName(action.payload) in state.items), \r\n isDbl:!iNotDoble});// locationToName(action.payload) in state.items\r\n //console.log(action.reduserData); \r\n //console.log(state.prepareQueue); \r\n\r\n return { ...state,\r\n prepareQueue: (\r\n iNotDoble ?\r\n [...state.prepareQueue, action.payload ] : \r\n state.prepareQueue), // если что то обраб, то в очередь ссукины дети, иначе в обработку \r\n preparing: (state.preparing ? state.preparing : action.payload)\r\n }\r\n } \r\n case AnyEntitySetActionTypes.ADD_ANY_ENTITY:{\r\n //console.log('ADD_ANY_ENTITY');\r\n //console.log(action.payload);\r\n \r\n return { \r\n ...state, \r\n items:{ ...state.items, \r\n [action.payload.name]: { \r\n state: fromEntityReduser.initStateFromSelFoo( action.payload.selectId),\r\n option: action.payload,\r\n action: null\r\n }\r\n }\r\n }; \r\n } \r\n case AnyEntitySetActionTypes.EXEC : { \r\n action.reduserData = (< AnyEntytySetItemState>state.items[action.payload.name]).option; // догрузка\r\n return {...state};\r\n } \r\n\r\n case AnyEntitySetActionTypes.EXEC_ANY_ENTITY_ACTION: {\r\n //console.log(action.payload);\r\n //console.log(state);\r\n const s = { ...state, \r\n items:{ ...state.items,\r\n [action.payload.itemOption.name]:{ \r\n ...state.items[action.payload.itemOption.name],\r\n action: (action).payload.itemAction,\r\n state: fromEntityReduser.reducerFromSelFoo( state.items[action.payload.itemOption.name].option.selectId )(\r\n state.items[action.payload.itemOption.name].state, (action).payload.itemAction \r\n ) \r\n }}};\r\n //console.log(s); \r\n return s; \r\n }; \r\n \r\n case AnyEntitySetActionTypes.COMPLETE_ANY_ENTITY_ACTION: {\r\n return { ...state,\r\n items:{ ...state.items, \r\n [action.payload.name]:{ \r\n ...state.items[action.payload.name],\r\n action: null\r\n }}}; \r\n }; \r\n\r\n case AnyEntitySetActionTypes.EROR_ANY_ENTITY_SET:{ \r\n console.log(action);\r\n return { ...state, error:action.payload }; \r\n } \r\n\r\n case AnyEntitySetActionTypes.SET_CURRENT:{ \r\n //console.log(action);\r\n return { ...state, currentId:action.payload }; \r\n } \r\n\r\n case AnyEntitySetActionTypes.JAB_STATE:{ \r\n return { ...state, jab:!state.jab}; \r\n } \r\n\r\n case AnyEntitySetActionTypes.EXEC_CURENT:{ \r\n action.reduserData = state.currentId; // догруз\r\n return { ...state}; \r\n } \r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n ","import { EntityState, createEntityAdapter, EntityAdapter, Dictionary } from \"@ngrx/entity\";\r\nimport { anyEntityActions, AnyEntityActionTypes } from \"@appStore/actions/any-entity.actions\";\r\nimport { FieldDescribes } from \"@appModels/metadata\";\r\nimport { monad, tMonad } from \"@appModels/monad\";\r\n\r\n//import { anyEntityLazyActions, AnyEntityLazyActionTypes } from \"@appStore/actions/any-entity-lazy.actions\";\r\n\r\n// Использование в качестве форегинов \r\n// 1. Полная идентификация , \r\n// 2. частичная \r\n// 3. ссылочная \r\n//\r\n//\r\n//\r\n\r\n\r\n\r\nexport interface Metadata {\r\n table: any\r\n fieldsDesc: FieldDescribes\r\n}\r\n\r\n\r\nexport interface AnyEntytyState extends EntityState {\r\n loaded: boolean;\r\n partLoaded: Dictionary;\r\n loading: boolean;\r\n uploading:boolean;\r\n uploaded:boolean;\r\n metaLoaded: boolean;\r\n metaLoading: boolean;\r\n metadata:Metadata; ///rrrrr!!!\r\n template?:T;\r\n rowSeed?:T;\r\n error: any;\r\n insertedId?:any;\r\n jab: boolean;\r\n \r\n}\r\n\r\nexport const initialSubState = {\r\n loaded: false,\r\n partLoaded: {},\r\n loading: false,\r\n uploading:false,\r\n uploaded:false,\r\n metaLoaded: false,\r\n metaLoading: false,\r\n metadata:{ table:{} ,fieldsDesc:{} },\r\n template:null,\r\n rowSeed:null,\r\n error: null,\r\n insertedId:null,\r\n jab: true\r\n}\r\n\r\nexport function adapter(){ return createEntityAdapter() }\r\n\r\nexport function anyEntytyinitialState(){\r\n return adapter().getInitialState(initialSubState) ;\r\n};\r\n\r\nexport function anyEntityLazySelectors(){ return adapter().getSelectors()};\r\n\r\n/// From selfunction reduser && initstate \r\nexport function initStateFromSelFoo( selFoo: ((x: T) => any) ){ \r\n return initStateFromAdapter( createEntityAdapter({selectId:selFoo}))\r\n} \r\nexport function reducerFromSelFoo( selFoo: ((x:T) => any) ){ \r\n return reducerFromAdapter( createEntityAdapter({selectId:selFoo}))\r\n} \r\n\r\nexport function selectorsFromSelFoo( selFoo: ((x:T) => any) ){\r\n return createEntityAdapter({selectId:selFoo}).getSelectors()\r\n} \r\n\r\n/// From adapter reduser && initstate \r\nexport function initStateFromAdapter( adapter: EntityAdapter ):AnyEntytyState {\r\n return adapter.getInitialState(initialSubState) ;\r\n} \r\n\r\nexport function reducerFromAdapter( adapt: EntityAdapter){\r\n \r\n function reducer(state = initStateFromAdapter(adapt), action: anyEntityActions): AnyEntytyState{\r\n const removeIfExit = (x:any[], v:any ) => x.indexOf(v) > 0 ? x.slice( x.indexOf(v), 1): x ; \r\n //console.log(state)\r\n //console.log(action)\r\n switch (action.type) {\r\n\r\n case AnyEntityActionTypes.ADD_ITEM:\r\n return { ...state, uploading: true , insertedId:null }; \r\n\r\n case AnyEntityActionTypes.ADD_ITEM_SUCCESS:\r\n return { ...state, uploading: false, uploaded:true, insertedId:action.payload}; \r\n\r\n case AnyEntityActionTypes.UPD_ITEM:{\r\n console.log('UPD_ITEM_SUCCESS');\r\n return { ...state, uploading: true , insertedId:null }; \r\n } \r\n case AnyEntityActionTypes.UPD_ITEM_SUCCESS:{\r\n console.log('UPD_ITEM_SUCCESS');\r\n return { ...state, uploading: false, uploaded:true, insertedId:action.payload}; \r\n } \r\n case AnyEntityActionTypes.GET_ITEMS_PART:\r\n return { ...state, loading: true }; \r\n\r\n case AnyEntityActionTypes.GET_ITEMS_PART_SUCCESS: \r\n // Возможна несогласованность ид и ентитесов, без опшинов ее не разрешить \r\n //\r\n return tMonad.of(({\r\n a:action,\r\n p2:{ ...state , loading: false , partLoaded: { ...state.partLoaded , [action.payload.request]:action.payload.ids } } \r\n }))\r\n .map( x => x.a.isReload \r\n ? adapt.updateMany( x.a.payload.entites.map( (y,i) => ({id: x.a.payload.ids[i] , changes:y } )), x.p2 ) \r\n : adapt.addMany( x.a.payload.entites, x.p2 ) )\r\n .run();\r\n\r\n \r\n\r\n case AnyEntityActionTypes.GET_ITEMS:\r\n return { ...state, loading: true }; \r\n\r\n case AnyEntityActionTypes.GET_ITEMS_SUCCESS:{\r\n //console.log('GET_ITEMS_SUCCESS');\r\n var s =\r\n adapt.addMany( \r\n action.payload,\r\n { ...state , loaded: true, loading: false }\r\n ); \r\n return s; \r\n }\r\n\r\n case AnyEntityActionTypes.GET_ITEMS_META:\r\n action.reduserData = state.metaLoading;\r\n return { ...state, metaLoading: true, metaLoaded: false }; \r\n\r\n case AnyEntityActionTypes.GET_ITEMS_META_SUCCESS:{\r\n return { ...state, metaLoading:false, metaLoaded: true , metadata:action.payload };\r\n }\r\n\r\n case AnyEntityActionTypes.GET_TEMPLATE_ROWSEED:\r\n case AnyEntityActionTypes.GET_TEMPLATE:{\r\n return { ...state, template: null }; \r\n } \r\n\r\n case AnyEntityActionTypes.GET_TEMPLATE_SUCCESS:{\r\n return { ...state, template:action.payload }; \r\n } \r\n\r\n case AnyEntityActionTypes.SET_ROW_SEED:{\r\n return { ...state, rowSeed:action.payload }; \r\n } \r\n\r\n case AnyEntityActionTypes.CHANGE_ROW_SEED:{\r\n return { ...state, rowSeed:(state.rowSeed? ({...state.rowSeed, ...action.payload }): action.payload ) }; \r\n } \r\n\r\n /// uploaded\r\n case AnyEntityActionTypes.EROR_ANY_ENTITY:{\r\n //console.log(action);\r\n return { ...state, loading: false, uploading:false, metaLoading:false, error: action.payload }; //loaded: false \r\n }\r\n \r\n case AnyEntityActionTypes.EROR_ANY_ENTITY_RESET:\r\n return { ...state, error:null}; \r\n\r\n case AnyEntityActionTypes.JAB_STATE:\r\n return { ...state, jab:!state.jab}; \r\n \r\n default:\r\n return state;\r\n }\r\n }\r\n\r\n return reducer;\r\n}\r\n","import { EnvironmentAction, EnvironmentActionTypes } from \"@appStore/actions/environment.actions\";\r\n\r\n// \r\n//\r\n\r\nexport interface authingReqData {\r\n fromError:string; \r\n fromSource:string;\r\n tag:string; \r\n}\r\n\r\nexport interface authingData {\r\n request:authingReqData;\r\n authCode:string; \r\n authToken:string; \r\n idToken:string; \r\n authTokenRequesting:boolean;\r\n}\r\n\r\nexport interface State {\r\n authenticated: boolean;\r\n authenticating:boolean;\r\n logoutind:boolean;\r\n //tryingLogin:boolean;\r\n authgData:authingData;\r\n error:any;\r\n}\r\n\r\nexport const initialState = {\r\n authenticated: false,\r\n authenticating:false,\r\n logoutind:false,\r\n //tryingLogin:false,\r\n authgData:null,\r\n error: null,\r\n}\r\n\r\nexport function reducer(state :State = initialState, action: EnvironmentAction): State {\r\n switch (action.type) {\r\n\r\n case EnvironmentActionTypes.ERROR_ENVIRONMENT:{ \r\n //console.log(action.payload);\r\n return { ...state , error:action.payload}; \r\n } \r\n\r\n case EnvironmentActionTypes.ERROR_ENVIRONMENT_RESET:{ \r\n //console.log(action.payload);\r\n return { ...state , error:null}; \r\n } \r\n\r\n case EnvironmentActionTypes.AUTH_START:{ \r\n //console.log(action.payload);\r\n return { ...state , authenticating:true, authenticated:false , authgData: { ...state.authgData, request: action.payload} } ; \r\n } \r\n\r\n case EnvironmentActionTypes.AUTH_SUCCESS:{ \r\n //console.log(action.payload);\r\n return { ...state , authenticating:false, authenticated:true , authgData: { ...state.authgData, authCode: action.payload, authTokenRequesting:true} } ; \r\n } \r\n\r\n case EnvironmentActionTypes.AUTH_LOGOUT:{ \r\n //console.log(action.payload);\r\n return { ...state , logoutind:true } ; \r\n } \r\n\r\n case EnvironmentActionTypes.AUTH_LOGOUT_SUCCESS:{ \r\n //console.log(action.payload);\r\n return { ...state , authenticating:false, authenticated:false , logoutind:false, authgData: null } ; \r\n } \r\n\r\n case EnvironmentActionTypes.AUTH_TOKEN_RECIVED:{ \r\n //console.log(action.payload);\r\n return { ...state , authgData: { ...state.authgData, authTokenRequesting:false, authToken: action.authToken, idToken: action.idToken } } ; \r\n } \r\n\r\n default:\r\n return state;\r\n }\r\n} ","import * as anyEntitySet from './any-entity-set.reduser'\r\nimport * as environment from './environment.reduser'\r\n\r\nexport { anyEntitySet, environment};\r\n\r\n","import { Params, RouterStateSnapshot } from '@angular/router';\r\nimport { RouterStateSerializer } from '@ngrx/router-store';\r\n\r\nexport interface RouterStateUrl {\r\n url: string;\r\n params: Params;\r\n queryParams: Params;\r\n}\r\n\r\nexport class CustomRouterStateSerializer implements RouterStateSerializer {\r\n\r\n serialize(routerState: RouterStateSnapshot): RouterStateUrl {\r\n let route = routerState.root;\r\n\r\n while (route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n\r\n const { url, root: { queryParams } } = routerState;\r\n const { params } = route;\r\n\r\n // Only return an object including the URL, params and query params\r\n // instead of the entire snapshot\r\n return { url, params, queryParams };\r\n }\r\n}","import { createFeatureSelector, createSelector, MemoizedSelector, select } from \"@ngrx/store\";\r\nimport { AnyEntytySetItemState, State } from \"@appStore/reducers/any-entity-set.reduser\";\r\nimport { of, Observable } from \"rxjs\";\r\n\r\nimport { fldDescsToQuestions,toFormGroup, toFormGroup$ } from \"../../question/adapters/question-adapt.helper\";\r\n//import { _Start } from \"@angular/cdk/scrolling\";\r\nimport { getLocationMacros, locationToName, locationInfo, fillLocationMacros, isFullIndepended } from \"app/shared/services/foregin/foreign-key.helper\";\r\nimport { getMdOptons, getMdOptonsFromDict, getRowVal } from \"app/shared/services/metadata/metadata.helper\";\r\nimport { EntityAdapter } from \"@ngrx/entity\";\r\nimport { map, filter, switchMap, tap } from \"rxjs/operators\";\r\nimport { and } from \"@angular/router/src/utils/collection\";\r\nimport { BackContextMode } from \"@appModels/any-entity\";\r\nimport { QuestionBase } from \"app/shared/question/question-base\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { FieldDescribe } from \"@appModels/metadata\";\r\n\r\n///////// HELPERS /////////////////////////////////////////////////////\r\n\r\n// AnyEntytySetItemState Interface props\r\nconst ENTITY_PROPS = [\"state\",\"option\",\"action\"];\r\n\r\n// Check props of object \r\nconst instOf = ( obj:any ,props:Array ) => props.reduce( (a,i) => a && obj && obj.hasOwnProperty(i) , true )\r\n\r\n// Object is instance AnyEntytySetItemState\r\nconst instOfAnyEntytySet = (obj:any) => instOf(obj,ENTITY_PROPS)\r\n\r\nconst extractEntities:((obj:any) => AnyEntytySetItemState[]) = (obj) => \r\n obj && obj.items\r\n ? Object.keys( obj.items ).map(x => obj.items[x]).filter(x => instOfAnyEntytySet(x) )\r\n : []\r\n\r\n/////////////////////////////////////////////////////////////////////////\r\n\r\nexport const dataStore = createFeatureSelector('data');\r\n\r\nexport const selectDatas = createSelector(\r\n dataStore,\r\n (x:State) => x \r\n); \r\n\r\n\r\nexport const selectErrors = ()=> \r\n createSelector(\r\n dataStore,\r\n (x:State) => x.error \r\n); \r\n\r\n// MANAGEMENT \r\nexport const selectIsExist = ( id: string ) => \r\n createSelector(\r\n selectDatas,\r\n dt => (id in dt.items)\r\n);\r\n\r\n// Загруженны ли данные\r\nexport const selectIsDataLoaded = ( id: string ) => \r\n createSelector(\r\n selectDatas,\r\n selectIsExist(id),\r\n (dt, is) => is && dt.items[id].state.loaded\r\n);\r\n\r\n// Загруженны ли метаданные\r\nexport const selectIsMetadataLoaded = ( id: string ) => \r\n createSelector(\r\n selectDatas,\r\n selectIsExist(id),\r\n (dt, is) => is && dt.items[id].state.metaLoaded\r\n);\r\n\r\n// Загруженна ли запись данных\r\nexport const selectIsRowLoaded = ( id: string, idRow:any ) => \r\n createSelector(\r\n selectData(id),\r\n dt => dt && dt.state && dt.state.entities && dt.state.entities[idRow] \r\n);\r\n\r\n\r\n\r\n// пукалка\r\nexport const selectJab = () => \r\n createSelector(\r\n selectDatas,\r\n dt => dt.jab\r\n);\r\n\r\n// NAMED SELECTORS -----------------------------------------------------\r\n\r\nexport const selectData = ( id: string ) => \r\n createSelector(\r\n selectDatas,\r\n dt => id in dt.items ? dt.items[id] : null\r\n);\r\n\r\n// export const selectById2 = ( id: string, idRow: any ) => \r\n// createSelector(\r\n// selectData(id),\r\n// dt => dt && dt.state ? dt.state : undefined\r\n// );\r\n\r\n\r\nexport const selectById = ( id: string, idRow: any ) => \r\n createSelector(\r\n selectData(id),\r\n dt => dt && dt.state && dt.state.entities && dt.state.entities[idRow] ? dt.state.entities[idRow] : undefined\r\n );\r\n\r\n \r\n export const selectDataItems = ( id: string) => \r\n createSelector(\r\n selectData(id),\r\n dt => dt && dt.state && dt.state.entities ? Object.keys(dt.state.entities).map(x=> dt.state.entities[x] ) : undefined\r\n );\r\n\r\n\r\n\r\n\r\n\r\n// export const selectById = ( id: string, idRow: any ) => \r\n// createSelector(\r\n// selectData(id),\r\n// dt => dt && dt.hasOwnProperty(idRow)?dt[idRow]:undefined \r\n// );\r\n\r\n// export const selectByIdAsName = ( id: string, idRow: any ) => \r\n// createSelector(\r\n// selectById(id,idRow),\r\n// dt => \r\n// );\r\n\r\nexport const selectDataOptions = ( id: string ) => \r\n createSelector(\r\n selectData(id),\r\n (items:AnyEntytySetItemState) => items&&items.hasOwnProperty('option') ? items.option : null\r\n //{ console.log(id);return items&&items.hasOwnProperty('option') ? items.option : null }//console.log(id)}\r\n);\r\n\r\nexport const selectDataMetadata = ( id: string ) => \r\n createSelector(\r\n selectData(id),\r\n (items:AnyEntytySetItemState) => items&&items.state ? items.state.metadata : null\r\n);\r\n\r\nexport const selectMetadataIterable = ( id: string ) => \r\n createSelector(\r\n selectDataMetadata(id),\r\n (items) => of(Object.keys(items))\r\n);\r\n\r\n// FieldDescribes[]\r\nexport const selectFieldDescribes = ( id: string ) => \r\n createSelector(\r\n selectDataMetadata(id),\r\n (items) => Object.keys(items).map(x=>items[x] )\r\n);\r\n\r\n//Error of entity\r\nexport const selectEntityError = ( id: string ) => \r\n createSelector(\r\n selectData(id),\r\n (items:AnyEntytySetItemState) => items.state.error\r\n);\r\n\r\n//Is Error of entity\r\nexport const selectEntityIsError = ( id: string ) => \r\n createSelector(\r\n selectData(id),\r\n (items:AnyEntytySetItemState) => !!items.state.error\r\n);\r\n\r\n//Is Error is can fixeble\r\n// export const selectEntityIsFixebleError = ( id: string ) => \r\n// createSelector(\r\n// selectData(id),\r\n// (items:AnyEntytySetItemState) => \r\n// { \r\n// // console.log(items.state.error );\r\n// // console.log( (!!items.state.error ) \r\n// // ? items.state.error.hasOwnProperty(\"status\") && items.state.error[\"status\"] == 401 \r\n// // ? true\r\n// // : false\r\n// // : undefined );\r\n\r\n// return (!!items.state.error ) \r\n// ? items.state.error.hasOwnProperty(\"status\") && items.state.error[\"status\"] == 401 \r\n// ? true\r\n// : false\r\n// : undefined \r\n \r\n// }\r\n// );\r\n\r\n// Комплексный селектор состояния Entity\r\n// \r\n// export const selectEntityStateResume = ( id: string, mode:BackContextMode ) => \r\n// selectData(id),\r\n// (items:AnyEntytySetItemState) =>({\r\n// isLoaded: mode == BackContextMode.Data \r\n// ? items.state.loaded \r\n// : mode == BackContextMode.Metadata \r\n// ? items.state.metaLoaded\r\n// : items.state.metaLoaded,\r\n// isLoading: \r\n// }) \r\n\r\n\r\n\r\n// \r\n// export const selectEntity = ( id: string ) => \r\n// createSelector(\r\n// selectData(id),\r\n// (items:AnyEntytySetItemState) => items.state.error\r\n// );\r\n\r\n\r\n\r\n// Questions seet\r\n// export const selectQuestions = ( id: string, rowSeed:Observable<{}> ) => \r\n// createSelector(\r\n// selectFieldDescribes(id),\r\n// (items) => fldDescsToQuestions( items, rowSeed ) \r\n \r\n// );\r\n\r\n// export const selectFormGroup = ( id: string, rowSeed:Observable<{}> ) => \r\n// createSelector(\r\n// selectQuestions(id,rowSeed),\r\n// (items) => toFormGroup( items, rowSeed ) \r\n// );\r\n\r\n// Controls data for form\r\n// export const selectFormControls = (id: string, rowSeed:Observable<{}>) =>\r\n// createSelector( \r\n// selectQuestions(id,rowSeed),\r\n// (items) => ({ questions:items, formGroup:toFormGroup( items, rowSeed ) }) \r\n// ); \r\n \r\nexport const selectTemplate = (id: string) =>\r\n createSelector( \r\n selectData(id),\r\n (x:AnyEntytySetItemState) => x.state.template\r\n); \r\n\r\n\r\n//\r\nexport const selectIsDataLoading = (id: string) =>\r\n createSelector( \r\n selectData(id),\r\n (x:AnyEntytySetItemState) => x.state.loading \r\n); \r\n\r\nexport const selectIsMetaLoading = (id: string) =>\r\n createSelector( \r\n selectData(id),\r\n (x:AnyEntytySetItemState) => x.state.metaLoading\r\n); \r\n\r\n\r\n/**\r\n * item is Loading (buzy)\r\n */\r\nexport const selectIsLoading = (id: string) =>\r\n createSelector( \r\n selectData(id),\r\n (x:AnyEntytySetItemState) => x.state.loading || x.state.metaLoading\r\n); \r\n\r\n/**\r\n * item is Prepared\r\n */\r\nexport const selectIsPrepared = (id: string) =>\r\n createSelector( \r\n selectData(id),\r\n (x:AnyEntytySetItemState) => (x && x.state.metaLoaded )\r\n); \r\n\r\n\r\n// ---------NEW 291119 -----------\r\n\r\nexport const selFieldDescribes = (id:string) => \r\n createSelector( selectDataMetadata(id), x => { \r\n //console.log(x.fieldsDesc)\r\n return !x ? undefined : Object.keys(x.fieldsDesc)\r\n .map(y => x.fieldsDesc[y])\r\n .sort( (a, b) => a.order - b.order )\r\n }); \r\n\r\nexport const selFieldDescribe = (id:string, fldName:string ) => \r\n createSelector( \r\n selFieldDescribes(id), \r\n xs => {\r\n return xs.reduce( (a:FieldDescribe,i:FieldDescribe) => !a && i.id == fldName ? i : a , null ) ;\r\n } \r\n ); \r\n\r\n\r\nexport const selRowTemplate = (id:string) =>\r\n createSelector( selectDatas, x => \r\n ! x.items[id] ? null : \r\n ! x.items[id].state.template ? {} :\r\n x.items[id].state.template \r\n ); \r\n\r\nexport const selRowSeed = (id:string) =>\r\n createSelector( selectDatas, x => \r\n !! (x.items[id]) && !!(x.items[id].state.rowSeed) \r\n ? x.items[id].state.rowSeed \r\n : null\r\n ); \r\n \r\nexport const selQuestionsEx = (id:string, flds:string[], rowSeed$:Observable<{}>) => \r\n createSelector( \r\n selFieldDescribes(id), \r\n (x) => {\r\n //console.log(x);\r\n return !x ? undefined : \r\n fldDescsToQuestions( flds.map( y => x.find( (e,i,a)=> (e.id == y) )), rowSeed$) \r\n } \r\n ); \r\n\r\n/**\r\n * Return джентельменский набор контролов для редактирования в форме !!!!!\r\n */ \r\nexport const selFormControlsEx$: ( id:string, flds:string[] , rowSeed$:Observable<{}> ) => MemoizedSelector[] ,formGroup:FormGroup }>> = // 180820 []\r\n\r\n ( id:string, flds:string[] , rowSeed$:Observable<{}> ) => //, rowSeed$:Observable<{}>\r\n createSelector(\r\n selQuestionsEx(id,flds,rowSeed$),\r\n selectIsMetadataLoaded(id),\r\n (qn, isL) => qn && isL ? toFormGroup$(qn,rowSeed$).pipe( map(fg => ({questions: qn , formGroup:fg}) )) : of(null) \r\n ); \r\n\r\n\r\n\r\n \r\n\r\n/**\r\n * Select all Entities \r\n */ \r\nexport const selEntities = () => createSelector( selectDatas, extractEntities ) \r\n\r\n/**\r\n * Select all Entities Errors\r\n */ \r\nexport const selEntitiesErrors = () => \r\n createSelector(\r\n selEntities(),\r\n (ents) => ents.map(x => x && x.state && x.state.error ? ({error:x.state.error, opt:x.option }) :null).filter( x => !!x )\r\n )\r\n\r\nexport const selectDataMetadataHeader = ( id: string ) => \r\n createSelector(\r\n selectDataMetadata(id),\r\n (x => ({ caption: x&&x.table ? x.table.DisplayName : undefined , description: x&&x.table ? x.table.Description : undefined }) )\r\n); \r\n\r\n\r\n// ANONIMUS SELECTOR --------------------------------------------------------------------------\r\nexport const selCurName = () => \r\n createSelector( selectDatas, x => x.currentId ) ;\r\n\r\nexport const selCurItem = () => \r\n createSelector(selectDatas, x => x.items[x.currentId] ); //x.currentId ? x.items[x.currentId] : null ); \r\n\r\nexport const selCurItemData = () => \r\n createSelector(selectDatas, x => \r\n !x.currentId ? undefined :\r\n x.items[x.currentId].state.entities\r\n ); \r\n\r\nexport const selCurItemIds = () => \r\n createSelector(selectDatas, x => \r\n !x.currentId ? undefined :\r\n x.items[x.currentId].state.ids\r\n ); \r\n\r\nexport const selCurItemMeta = () => \r\n createSelector(selectDatas, x => \r\n !x.currentId ? undefined :\r\n x.items[x.currentId].state.metadata \r\n ); \r\n\r\nexport const selCurItemMetaNote = () => \r\n createSelector(selectDatas, x => \r\n ! x.currentId ? \"\" : \r\n ! x.items[x.currentId].state.metaLoaded ? x.currentId :\r\n !x.items[x.currentId].state.metadata.table.hasOwnProperty(\"DisplayName\") ? x.currentId :\r\n x.items[x.currentId].state.metadata.table[\"DisplayName\"]\r\n ); \r\n\r\nexport const selCurRowTemplate = () =>\r\n createSelector( selectDatas, x => \r\n ! x.currentId ? null : \r\n ! x.items[x.currentId].state.template ? {} :\r\n x.items[x.currentId].state.template \r\n ); \r\n\r\nexport const selCurIsDataLoaded = () => createSelector(selectDatas, x => x.currentId ? x.items[x.currentId].state.loaded : false); \r\nexport const selCurIsMetaLoaded = () => createSelector(selectDatas, x => x.currentId ? x.items[x.currentId].state.metaLoaded : false); \r\n\r\nexport const selCurRowSeed = () =>\r\n createSelector( selectDatas, x => \r\n ! x.currentId ? null : \r\n ! x.items[x.currentId].state.rowSeed ? {} :\r\n x.items[x.currentId].state.rowSeed \r\n ); \r\n\r\n// cur entity error \r\nexport const selCurError = () => \r\n createSelector( selectDatas, x => \r\n ! x.currentId ? null : x.items[x.currentId].state.error\r\n ); \r\n \r\n\r\n//item \r\nexport const selCurItemById = (id:any) => \r\n createSelector(selCurItemData(), \r\n x => x && (id in x) ? x[id] : undefined \r\n ); \r\n\r\n//---------\r\n// 180419 Susses Insert completed InsertedId\r\nexport const selCurInsertedId = () => \r\n createSelector(selCurItem(), \r\n x => x ? x.state.insertedId : undefined \r\n ); \r\n \r\nexport const selCurInsertedRec = () => \r\n createSelector(selCurItem(), \r\n x => x && x.state.insertedId && x.state.entities[x.state.insertedId]\r\n ? x.state.entities[x.state.insertedId]\r\n : undefined \r\n); \r\n\r\n\r\n//Question Current------------------------------------------------------------------------------------------------------------------\r\n// FieldDescribes[]\r\nexport const selCurFieldDescribes = () => \r\n createSelector( selCurItemMeta(), x => { \r\n //console.log(x.fieldsDesc)\r\n return !x ? undefined : Object.keys(x.fieldsDesc)\r\n .map(y => x.fieldsDesc[y])\r\n .sort( (a, b) => a.order - b.order )\r\n }); \r\n\r\nexport const selCurQuestions = () => \r\n createSelector( \r\n selCurFieldDescribes(), \r\n selCurRowTemplate(),\r\n (x, t) => !x ? undefined : fldDescsToQuestions( Object.keys(x).map(y => x[y]) , t ) \r\n \r\n ); \r\n\r\nexport const selCurFormGroup = ( ) => \r\n createSelector(\r\n selCurQuestions(),\r\n selCurRowTemplate(),\r\n (x, t) => toFormGroup( x, t ) \r\n );\r\n\r\n// Controls data for form\r\nexport const selCurFormControls = () =>\r\n createSelector( \r\n selCurQuestions(),\r\n selCurFormGroup(),\r\n (x,y) => ({ questions:x, formGroup:y}) \r\n ); \r\n\r\n// Ex vith filter 020419\r\nexport const selCurQuestionsEx = (flds:string[] , rowSeed:{} ) => \r\n createSelector( \r\n selCurFieldDescribes(), \r\n selCurRowTemplate(),\r\n (x, t) => !x ? undefined : \r\n fldDescsToQuestions( flds.map( y => x.find( (e,i,a)=> (e.id == y) )), of({...t, ...rowSeed})) // of() 201020\r\n ); \r\n\r\nexport const selCurFormGroupEx = ( flds:string[] , rowSeed:{} ) => \r\n createSelector(\r\n selCurQuestionsEx(flds,rowSeed),\r\n selCurRowTemplate(),\r\n (x, t) => toFormGroup( x, {...t, ...rowSeed}) \r\n );\r\n\r\n\r\nexport const selCurFormControlsEx = (flds:string[] , rowSeed:{}) =>\r\n createSelector( \r\n selCurQuestionsEx(flds,rowSeed),\r\n selCurFormGroupEx(flds,rowSeed),\r\n (x,y) => ({questions:x, formGroup:y}) \r\n ); \r\n\r\n\r\n// Rebuild 201020 for rowseed stream ////////////////////////////////////////////////////////////////////////////\r\nexport const selCurTemplRowSeed$ = ( rowSeed$:Observable<{}> ) => \r\n createSelector(\r\n selCurRowTemplate(),\r\n (t) => rowSeed$.pipe( map( x=> ({...t, ...x}))) \r\n );\r\n\r\nexport const selCurQuestionsExS = (flds:string[] , rowSeed$:Observable<{}> ) => \r\n createSelector( \r\n selCurTemplRowSeed$( rowSeed$ ),\r\n selCurFieldDescribes(), \r\n (rst, x) => ({ \r\n questions : !x ? undefined : fldDescsToQuestions( flds.map( y => x.find( (e,i,a) => (e.id == y) )), rst ) ,\r\n rowSeedTmp$ : rst\r\n }) \r\n ); \r\n\r\nexport const selCurFormControlsExS = (flds:string[] , rowSeed$:Observable<{}>) =>\r\n createSelector( \r\n selCurQuestionsExS(flds,rowSeed$),\r\n (x) => ({\r\n questions:x.questions, \r\n formGroup: toFormGroup$(x.questions, x.rowSeedTmp$ ) \r\n }) \r\n ); \r\n////////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\n\r\n\r\n/**\r\n * список полей изменения которых влияют на значения списков вторичных ключей \r\n * т.е. формальным языком которые упоминаются как макросы в FK-выражениях \r\n */ \r\nexport const selCurMacroParentFields = () => \r\n createSelector(\r\n selCurFieldDescribes(),\r\n x => x.map( y => y.foreignKey)\r\n .filter( x => !! x )\r\n .map(x => getLocationMacros(x))\r\n .reduce( (a,i) => [...a,...i] , [] )\r\n .filter( (e,i,a) => i === a.indexOf(e) ) // ? убираем повторы штоли \r\n )\r\n\r\n// Список есть (это контролы изменения знач которых мы отслеживаем)\r\n// Так же необходимо отслеживать ключи для соответстующих запросов \r\n// Типа на выхде нужно иметь не обработанный локйшн\r\n// тута нада на выходе штото вроде: [ { f1, [rloc1, rloc2, ....] }, { f2, [ rl2, rl3, ...] } ]\r\n// иля даже точнее { [fieldName:string]:(refs:string[]) }\r\n/**\r\n * Return object contains depend fields as props of array of location as value:\r\n * { \r\n * [fieldName:string]:string[] // list locations\r\n * }\r\n */\r\nexport const selCurMacroParentFieldsWithLocs = () => \r\n createSelector(\r\n selCurFieldDescribes(),\r\n x => {\r\n const foo = ( l:string, f:string[] , ret: { [fieldName:string]:string[] } ) => {\r\n const addLoc = ( l1:string, fn:string , r:{} ) => fn in r ? { ...r, [fn]:[...r[fn], l1]} : {...r, [fn]:[l1] } \r\n return f.reduce( (a,i) => addLoc(l,i,a) , ret )\r\n }\r\n return x\r\n .map( y => y.foreignKey)\r\n .filter( x => !! x )\r\n .map(x => ({loc:x, mac:getLocationMacros(x)})) \r\n .reduce( (a,i) => foo(i.loc, i.mac, a) ,{})\r\n } \r\n )\r\n\r\n// Controls data for form\r\nexport const selCurJab = () =>\r\n createSelector( \r\n selCurItem(), x=> x.state.jab\r\n ); \r\n\r\n\r\n/// COMMON SELECTORS------------------------------------------------------------------------------------------------------\r\n\r\n/**\r\n * Foreign is Prepared (buzy)\r\n */\r\nexport const selForeignIsPreparing = () =>\r\n createSelector( \r\n selectDatas,\r\n (dt) => dt.prepareQueue.length > 0 && dt.preparing != null \r\n ) \r\n\r\n/**\r\n * items is Loading (buzy)\r\n */\r\nexport const selItemsIsLoading = () =>\r\n createSelector( \r\n selectDatas,\r\n (dt) => Object.keys(dt.items).reduce( (a,i) => a || dt.items[i].state.loading || dt.items[i].state.metaLoading ,false ) \r\n); \r\n\r\n/**\r\n * items is Uploading (buzy)\r\n */\r\nexport const selItemsIsUploading = () =>\r\n createSelector( \r\n selectDatas,\r\n (dt) => Object.keys(dt.items).reduce( (a,i) => a || dt.items[i].state.uploading ,false ) \r\n); \r\n\r\n\r\nexport const selIsBuzy = () =>\r\n createSelector( \r\n selItemsIsLoading(),\r\n selForeignIsPreparing(),\r\n selItemsIsUploading(),\r\n (x,y,z) => x || y || z\r\n); \r\n\r\nexport interface BusyInfo{\r\n act:string,\r\n obj:string\r\n}\r\n\r\n// BUSY INFO\r\n// \r\nexport const selBusyPreparingInfo = () =>\r\n createSelector( \r\n selectDatas,\r\n (dt) => \r\n dt.prepareQueue.length > 0 && dt.preparing != null \r\n ? ({act:\"Подготавливаю вторичные данные\", obj:dt.preparing?dt.preparing: dt.prepareQueue[0]})\r\n : null \r\n ) \r\n\r\nexport const selBusyLoadingInfo = () =>\r\n createSelector( \r\n selectDatas,\r\n (dt) => Object.keys(dt.items)\r\n .reduce( (a,i) => \r\n a?a:dt.items[i].state.loading \r\n ? {act:\"Загружаю данные\", obj:i}\r\n : dt.items[i].state.metaLoading \r\n ? {act:\"Загружаю метаданные\", obj:i}\r\n : null\r\n ,null \r\n ) \r\n); \r\n\r\nexport const selBusyUploadingInfo = () =>\r\n createSelector( \r\n selectDatas,\r\n (dt) => Object.keys(dt.items)\r\n .reduce( (a,i) => \r\n a?a: dt.items[i].state.uploading \r\n ? {act:\"Выгружаю данные\", obj:i}\r\n : null\r\n ,null \r\n ) \r\n); \r\n\r\nexport const selBuzyInfo = () =>\r\n createSelector( \r\n selBusyPreparingInfo(),\r\n selBusyLoadingInfo(),\r\n selBusyUploadingInfo(),\r\n (x,y,z) => x?x:y?y:z?z:null\r\n); \r\n\r\n\r\n/// FOREIGN DATA SELECTORS ========================================================================================================\r\n\r\n/**\r\n* Select datas state if exist else null\r\n*/\r\nexport const selectStateIfExist = ( id: string ) =>\r\n createSelector(\r\n selectDatas,\r\n dt => (id in dt.items) ? dt.items[id] : null\r\n );\r\n\r\n/**\r\n* Select entytes by location if exist & loading\r\n*/\r\nexport const selectDataIfExist = ( id: string ) =>\r\n createSelector(\r\n selectStateIfExist(id),\r\n (x) => x ? ( x.state.loaded ? x.state.entities : null ) : null\r\n );\r\n/**\r\n* Select entyty row by location and key if exist & loading\r\n*/\r\nexport const selectDataRowIfExist = ( id: string, key:any ) =>\r\n createSelector(\r\n selectStateIfExist(id),\r\n (x) => x ? ( x.state.entities ? x.state.entities[key] : null ) : null\r\n );\r\n\r\n\r\n\r\n/**\r\n* Select entytes & metadata if exist & loading \r\n*/\r\nexport const selectDataAndMetaIfExist = ( id: string ) =>\r\n createSelector(\r\n selectStateIfExist(id),\r\n (x) => x ? ( x.state.loaded && x.state.metaLoaded ? ({ data: (x.state.entities), meta:(x.state.metadata ) }) : null ) : null\r\n );\r\n\r\n/**\r\n* Select entytes & partLoaded dictionary\r\n*/\r\nexport const selectDataAndPartLoadedIfExist = ( id: string ) =>\r\n createSelector(\r\n selectStateIfExist(id),\r\n (x) => (x && Object.keys(x.state.partLoaded).length > 0) ? ({ data: (x.state.entities), parts:(x.state.partLoaded) }) : null \r\n );\r\n\r\n\r\n\r\n\r\nexport const selectIsExistByLoc = ( loc: string ) => selectIsExist( locationToName(loc) ) ;\r\n\r\nexport const selectIsPreparedByLoc = ( loc: string ) => selectIsMetadataLoaded( locationToName(loc) ) ;\r\n\r\nexport const selectDataOptionsByLoc = ( loc: string ) => selectDataOptions( locationToName(loc) ) ;\r\n\r\nexport const selInsertedId = (id: string) => \r\n createSelector(\r\n selectStateIfExist(id),\r\n x => x ? x.state.insertedId : null \r\n ); \r\n\r\n///////////////////////////////////////////////////////////////////////////////////////////////////\r\n/**\r\n* Select dropDown option by id (Full independed)\r\n*/\r\nexport const selectOptions = ( id: string ) => \r\n createSelector(\r\n selectDataAndMetaIfExist(id),\r\n (x) => !!x?getMdOptonsFromDict( x.data, x.meta.table): null \r\n ); //[{key:undefined, value:'Загруз...'} ]\r\n\r\nexport const selectOptionsByLoc = ( loc: string ) => selectOptions( locationToName(loc) ) ;\r\n\r\n/**\r\n* Select part independed dropDown option by location\r\n* Селеектор с разрешенными макросами либо тн PartIndepended\r\n*/\r\nexport const selPartIndOptions = ( resolvedLoc: string ) => \r\n createSelector(\r\n selectDataAndPartLoadedIfExist(locationToName(resolvedLoc)),\r\n (cntr) => !cntr || !(resolvedLoc in cntr.parts) ? null: \r\n cntr.parts[resolvedLoc].reduce( (a,x) => ({...a, [x]:cntr.data[x]}) , {} )\r\n ); \r\n\r\n/**\r\n* Select resolved location by location\r\n* TODO Chek if empty...\r\n*/\r\nexport const selectResolvedLoc = ( loc: string ) => \r\n createSelector( \r\n selCurRowSeed(),\r\n x => fillLocationMacros(loc,x)\r\n ); \r\n\r\n\r\n\r\n/**\r\n* Select resolved location by location\r\n* TODO Chek if empty...\r\n*/\r\nexport const selectResolvedLocFromTemplate = ( loc: string ) => \r\n createSelector( \r\n selCurRowTemplate(),\r\n x => fillLocationMacros(loc,x)\r\n ); \r\n\r\n/**\r\n* 180119 Сложный депенденс-дропдаун-оптион селектор \r\n* Возможен только относительно лукашина, начну сразу с депенденса \r\n* Сделать через два готовых селектора передав результат одного в качестве параметра другого не вышло - пока не парюся.... \r\n*/\r\nexport const selectForeignOptionsByLoc$ = ( loc: string , rowSeed$:Observable<{}> ) => \r\n createSelector(\r\n selectStateIfExist(locationToName(loc)),\r\n (dt) => (rowSeed$? rowSeed$:of({}) ).pipe( \r\n map( x => dt \r\n ? ({\r\n data: (dt.state.entities), \r\n parts: ( Object.keys(dt.state.partLoaded).length > 0) ? (dt.state.partLoaded):null, \r\n meta: dt.state.metadata,\r\n rowSeed:x,\r\n resLoc: fillLocationMacros(loc,x)\r\n })\r\n :null\r\n ), \r\n map( x => x \r\n ? ({\r\n meta: x.meta,\r\n data: isFullIndepended(loc) \r\n ? x.data\r\n : x.data && x.parts && (x.resLoc in x.parts) \r\n ? x.parts[x.resLoc].reduce( (a,i) => ({...a, [i]:x.data[i]}) , {} ) \r\n : null\r\n }) \r\n :null \r\n ),\r\n //tap( x => console.log(x) ),\r\n map( x => x && x.data && x.meta && x.meta.table ? getMdOptonsFromDict(x.data, x.meta.table ):null )\r\n )\r\n ); \r\n\r\n \r\nexport const selectForeignOptionsByLoc = ( loc: string ) => \r\n createSelector(\r\n selectStateIfExist(locationToName(loc)),\r\n selectResolvedLoc(loc),\r\n (x,l) => {\r\n console.log(l);\r\n const dap = x ? ({ data: (x.state.entities), parts: ( Object.keys(x.state.partLoaded).length > 0) ? (x.state.partLoaded):null, meta:x.state.metadata }) : null ;\r\n const selData = !x ? null:(\r\n isFullIndepended(loc) ? dap.data :(\r\n !dap || !dap.parts ? null :(\r\n !(l in dap.parts)? null: \r\n dap.parts[l].reduce( (a,x) => ({...a, [x]:dap.data[x]}) , {} )\r\n )));\r\n const ret = selData && dap && dap.meta && dap.meta.table ? getMdOptonsFromDict(selData, dap.meta.table ):null; \r\n return ret;\r\n }\r\n );\r\n \r\n\r\nexport const selectForeignDataByLoc = ( loc: string ) => \r\n createSelector(\r\n selectStateIfExist(locationToName(loc)),\r\n selectResolvedLoc(loc),\r\n (x,l) => {\r\n const dap = x ? ({ data: (x.state.entities), parts: ( Object.keys(x.state.partLoaded).length > 0) ? (x.state.partLoaded):null, meta:x.state.metadata }) : null ;\r\n\r\n const selData = !x ? null:(\r\n isFullIndepended(loc) ? dap.data :(\r\n !dap || !dap.parts ? null :(\r\n !(l in dap.parts)? null: \r\n dap.parts[l].reduce( (a,x) => ({...a, [x]:dap.data[x]}) , {} )\r\n )));\r\n return selData;\r\n }\r\n ); \r\n\r\n\r\n/**\r\n * Select frendly row value\r\n */\r\nexport const selectCurRowVal = ( key:string , rowId:any ) =>\r\n createSelector(\r\n selCurItem(),\r\n selectDatas,\r\n (x,d) => { \r\n const selData = (l) => locationToName(l);\r\n const getFrgn = (l) => d.items[selData(l)];\r\n const fk = x&&x.hasOwnProperty('state')&&x.state.metaLoaded? x.state.metadata.fieldsDesc[key].foreignKey : undefined ;\r\n const vl = x.state.entities.hasOwnProperty(rowId) ? x.state.entities[rowId][key]:undefined;\r\n return !x ? undefined\r\n : !fk\r\n ? vl \r\n : getRowVal(vl, getFrgn(fk).state.entities, getFrgn(fk).state.metadata )\r\n } \r\n ) \r\n \r\n/**\r\n * Select selected partLocation\r\n */\r\nexport const selectPartLocationByLoc = ( loc: string ) => \r\n createSelector(\r\n selectStateIfExist(locationToName(loc)),\r\n x => x && x.state.partLoaded ? Object.keys(x.state.partLoaded) : []\r\n );\r\n\r\n/**\r\n * Select selected partLocation if notExist\r\n */\r\nexport const selectPartLocationIfNotExist = ( loc: string ) => \r\n createSelector(\r\n selectPartLocationByLoc(loc),\r\n x => x.indexOf(loc) >= 0 ? null : loc\r\n ); \r\n\r\n \r\n//260620 --- Не знаю с чего начать ... воще нужны контролы на форму для новой записи.... \r\n// Начать отработку вероятно надо не с виртуальных сущностей, а потом уже переходить к виртуальным...\r\n// \r\n\r\n\r\n//selectDataMetadata\r\n\r\n\r\n/////////////////////////////////////////////////////// \r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { State } from \"@appStore/reducers/environment.reduser\";\r\n\r\nexport const AUTH_HEADER_CODE_PREFIX = \"Code\";\r\nexport const AUTH_HEADER_TOKEN_PREFIX = \"Bearer\";\r\n\r\nexport const environmentStore = createFeatureSelector('environment');\r\n\r\n\r\nexport const selectEnvironment = createSelector(\r\n environmentStore,\r\n (x:State) => x \r\n); \r\n\r\nexport const selEnvError = createSelector(\r\n environmentStore,\r\n (x:State) => x.error \r\n); \r\n\r\nexport const selEnvIsAuthed = createSelector(\r\n environmentStore,\r\n (x:State) => x&&x.authenticated ? x.authenticated : false\r\n); \r\n\r\nexport const selEnvIsAuthenticating = createSelector(\r\n environmentStore,\r\n (x:State) => x&&x.authenticating ? x.authenticating : false\r\n); \r\n\r\n\r\n/*\r\n* Authed + request token resived \r\n*/\r\nexport const selEnvIsAuthedFull = createSelector(\r\n environmentStore,\r\n selEnvIsAuthed,\r\n (x:State, auth ) => auth && x.authgData && x.authgData.hasOwnProperty(\"authTokenRequesting\") && !x.authgData.authTokenRequesting && !!x.authgData.idToken \r\n); \r\n\r\n/*\r\n* Authing + request token continue.... \r\n*/\r\nexport const selEnvIsAuthenticatingFull = createSelector(\r\n environmentStore,\r\n selEnvIsAuthenticating, //auth || \r\n (x:State,auth) => auth || ( !!x && x.hasOwnProperty(\"authgData\") && !!x.authgData && x.authgData.hasOwnProperty(\"authTokenRequesting\") && x.authgData.authTokenRequesting )\r\n); \r\n\r\n// Стоит ли ждать аутентификации True - Стоит False - не стоит\r\n// Не стоит ждать если уже аутентифицирован, \r\n// Стоит если \r\n\r\n\r\n\r\nexport const selEnvAuthCode = createSelector(\r\n environmentStore,\r\n (x:State) => x&&x.authenticated ? ( x.authgData && x.authgData.authCode ? x.authgData.authCode : undefined ) : undefined \r\n); \r\n\r\n/**\r\n * Select Authentificate header value\r\n */\r\nexport const selEnvAuthHeader = createSelector(\r\n environmentStore,\r\n (x:State) => x&&x.authenticated \r\n ? x.authgData && x.authgData.idToken\r\n ? AUTH_HEADER_TOKEN_PREFIX +\" \"+ x.authgData.idToken\r\n : x.authgData && x.authgData.authToken \r\n ? AUTH_HEADER_TOKEN_PREFIX +\" \"+ x.authgData.authToken \r\n : x.authgData && x.authgData.authCode \r\n ? AUTH_HEADER_CODE_PREFIX +\" \"+ x.authgData.authCode \r\n :undefined\r\n : undefined \r\n);\r\n\r\n/**\r\n * Select JWT Body BASE 64\r\n */\r\nexport const selEnvAuthHeaderBodyB64 = createSelector(\r\n selEnvAuthHeader,\r\n x => !x ? undefined\r\n : x.split('.')[1] \r\n)\r\n\r\n/**\r\n * Select Select JWT Body\r\n */\r\nexport const selEnvAuthHeaderBody = createSelector(\r\n selEnvAuthHeaderBodyB64,\r\n x => { try{ return JSON.parse( decodeURIComponent(escape(window.atob( x ))));} catch{ return undefined; } }\r\n) \r\n\r\n/**\r\n * Select Select JWT Body\r\n */\r\nexport const selEnvAuthHeaderName = createSelector(\r\n selEnvAuthHeaderBody,\r\n x => x && x[\"name\"] \r\n ? x[\"name\"] \r\n : x && x[\"email\"] ? x[\"email\"] :undefined\r\n) \r\n\r\n/**\r\n * Select Select JWT Body\r\n */\r\nexport const selEnvAuthHeaderPicUri = createSelector(\r\n selEnvAuthHeaderBody,\r\n x => x && x[\"picture\"] ? x[\"picture\"] : undefined\r\n) \r\n\r\n\r\n/**\r\n * Select Authentificate Tag\r\n */\r\nexport const selEnvAuthTag = createSelector(\r\n environmentStore,\r\n (x:State) => x && x.authgData && x.authgData.request && x.authgData.request.tag \r\n ? x.authgData.request.tag \r\n : undefined\r\n); \r\n\r\n/**\r\n* Authentificate Tag is ...\r\n*/\r\nexport const authIsTag = ( tag: string ) => createSelector(\r\n selEnvAuthTag,\r\n (x) => !!(x && x == tag) \r\n);\r\n\r\n/**\r\n* Authentificate without tag ...\r\n*/\r\nexport const authIsNoTag = ( ) => createSelector(\r\n environmentStore,\r\n (x:State) => x && x.authgData && x.authgData.request && ( !x.authgData.request.tag )\r\n); \r\n \r\n/**\r\n* Authentificate without tag ...\r\n*/\r\n export const authRequest = ( ) => createSelector(\r\n environmentStore,\r\n (x:State) => x && x.authgData && x.authgData.request ? x.authgData.request : undefined\r\n ); \r\n\r\n\r\n\r\n","\r\nexport * from './any-entity-set.selectors';\r\nexport * from './router.selectors'; \r\nexport * from './environment.selectors'; ","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { RouterReducerState } from \"@ngrx/router-store\";\r\nimport { RouterStateUrl } from \"@appStore/router\";\r\n\r\n// Reducer selectors\r\nexport const selectReducerState = createFeatureSelector< RouterReducerState >(\"router\");\r\n \r\nexport const getRouterInfo = createSelector(\r\n selectReducerState,\r\n state => state.state\r\n);\r\n\r\nexport const getQueryParams = createSelector(\r\n selectReducerState,\r\n state => state.state&&state.state.queryParams?state.state.queryParams:undefined\r\n);","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":""}