{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/_base/crud/index.ts","./src/app/core/_base/crud/models/_base.datasource.ts","./src/app/core/_base/crud/models/_base.model.ts","./src/app/core/_base/crud/models/http-extentsions-model.ts","./src/app/core/_base/crud/models/query-models/query-params.model.ts","./src/app/core/_base/crud/models/query-models/query-results.model.ts","./src/app/core/_base/crud/utils/http-utils.service.ts","./src/app/core/_base/crud/utils/intercept.service.ts","./src/app/core/_base/crud/utils/layout-utils.service.ts","./src/app/core/_base/crud/utils/regex-utils.ts","./src/app/core/_base/crud/utils/types-utils.service.ts","./src/app/core/_base/layout/directives/content-animate.directive.ts","./src/app/core/_base/layout/directives/header.directive.ts","./src/app/core/_base/layout/directives/menu.directive.ts","./src/app/core/_base/layout/directives/offcanvas.directive.ts","./src/app/core/_base/layout/directives/scroll-top.directive.ts","./src/app/core/_base/layout/directives/sparkline-chart.directive.ts","./src/app/core/_base/layout/directives/sticky.directive.ts","./src/app/core/_base/layout/directives/tab-click-event.directive.ts","./src/app/core/_base/layout/directives/toggle.directive.ts","./src/app/core/_base/layout/index.ts","./src/app/core/_base/layout/models/datatable-item.model.ts","./src/app/core/_base/layout/models/external-code-example.ts","./src/app/core/_base/layout/pipes/first-letter.pipe.ts","./src/app/core/_base/layout/pipes/get-object.pipe.ts","./src/app/core/_base/layout/pipes/join.pipe.ts","./src/app/core/_base/layout/pipes/safe.pipe.ts","./src/app/core/_base/layout/pipes/time-elapsed.pipe.ts","./src/app/core/_base/layout/server/fake-api/fake-api.service.ts","./src/app/core/_base/layout/server/fake-api/fake-db/cars.ts","./src/app/core/_base/layout/services/datatable.service.ts","./src/app/core/_base/layout/services/kt-dialog.service.ts","./src/app/core/_base/layout/services/layout-config.service.ts","./src/app/core/_base/layout/services/layout-ref.service.ts","./src/app/core/_base/layout/services/menu-aside.service.ts","./src/app/core/_base/layout/services/menu-config.service.ts","./src/app/core/_base/layout/services/menu-horizontal.service.ts","./src/app/core/_base/layout/services/page-config.service.ts","./src/app/core/_base/layout/services/splash-screen.service.ts","./src/app/core/_base/layout/services/subheader.service.ts","./src/app/core/_base/layout/services/translation.service.ts","./src/app/core/_config/i18n/ch.ts","./src/app/core/_config/i18n/de.ts","./src/app/core/_config/i18n/en.ts","./src/app/core/_config/i18n/es.ts","./src/app/core/_config/i18n/fr.ts","./src/app/core/_config/i18n/jp.ts","./src/app/core/_config/layout.config.ts","./src/app/core/_config/menu.config.ts","./src/app/core/_config/page.config.ts","./src/app/core/auth/_actions/auth.actions.ts","./src/app/core/auth/_actions/permission.actions.ts","./src/app/core/auth/_actions/role.actions.ts","./src/app/core/auth/_actions/user.actions.ts","./src/app/core/auth/_data-sources/roles.datasource.ts","./src/app/core/auth/_data-sources/users.datasource.ts","./src/app/core/auth/_effects/auth.effects.ts","./src/app/core/auth/_effects/permission.effects.ts","./src/app/core/auth/_effects/role.effects.ts","./src/app/core/auth/_effects/user.effects.ts","./src/app/core/auth/_guards/auth.guard.ts","./src/app/core/auth/_guards/child-module.guard.ts","./src/app/core/auth/_guards/module.guard.ts","./src/app/core/auth/_models/address.model.ts","./src/app/core/auth/_models/permission.model.ts","./src/app/core/auth/_models/role.model.ts","./src/app/core/auth/_models/social-networks.model.ts","./src/app/core/auth/_models/user.model.ts","./src/app/core/auth/_reducers/auth.reducers.ts","./src/app/core/auth/_reducers/permission.reducers.ts","./src/app/core/auth/_reducers/role.reducers.ts","./src/app/core/auth/_reducers/user.reducers.ts","./src/app/core/auth/_selectors/auth.selectors.ts","./src/app/core/auth/_selectors/permission.selectors.ts","./src/app/core/auth/_selectors/role.selectors.ts","./src/app/core/auth/_selectors/user.selectors.ts","./src/app/core/auth/_server/auth.data-context.ts","./src/app/core/auth/_server/permissions.table.ts","./src/app/core/auth/_server/roles.table.ts","./src/app/core/auth/_server/users.table.ts","./src/app/core/auth/_services/auth.service.ts","./src/app/core/auth/_services/index.ts","./src/app/core/auth/auth-notice/auth-notice.service.ts","./src/app/core/auth/index.ts","./src/app/core/core.module.ts","./src/app/core/models/coordinate.mode.ts","./src/app/core/models/customer.model.ts","./src/app/core/models/datasource-options.model.ts","./src/app/core/models/drone-model.model.ts","./src/app/core/models/drone-payload.model.ts","./src/app/core/models/drone-pilot.model.ts","./src/app/core/models/drone-route-model.ts","./src/app/core/models/drone.model.ts","./src/app/core/models/field.model.ts","./src/app/core/models/map-task.model.ts","./src/app/core/models/material.model.ts","./src/app/core/models/pilot-type.model.ts","./src/app/core/models/protocol.model.ts","./src/app/core/models/task.model.ts","./src/app/core/services/api.service.ts","./src/app/core/services/auth.service.ts","./src/app/core/services/customers.service.ts","./src/app/core/services/drone-pilots.service.ts","./src/app/core/services/drones.service.ts","./src/app/core/services/fields.service.ts","./src/app/core/services/materials.service.ts","./src/app/core/services/pilot-tasks.service.ts","./src/app/core/services/protocols.service.ts","./src/app/core/services/tasks.service.ts","./src/app/core/services/users.service.ts","./src/app/core/store/actions/auth.actions.ts","./src/app/core/store/actions/customer.actions.ts","./src/app/core/store/actions/drone-pilots.actions.ts","./src/app/core/store/actions/drones.actions.ts","./src/app/core/store/actions/field.actions.ts","./src/app/core/store/actions/material.actions.ts","./src/app/core/store/actions/pilot-tasks.actions.ts","./src/app/core/store/actions/protocol.actions.ts","./src/app/core/store/actions/task.actions.ts","./src/app/core/store/actions/user.actions.ts","./src/app/core/store/effects/auth.effects.ts","./src/app/core/store/effects/customer.effects.ts","./src/app/core/store/effects/drone-pilots.effects.ts","./src/app/core/store/effects/drones.effects.ts","./src/app/core/store/effects/field.effects.ts","./src/app/core/store/effects/material.effects.ts","./src/app/core/store/effects/pilot-tasks.effects.ts","./src/app/core/store/effects/protocol.effects.ts","./src/app/core/store/effects/task.effects.ts","./src/app/core/store/effects/user.effects.ts","./src/app/core/store/reducers/auth.reducer.ts","./src/app/core/store/reducers/customer.reducer.ts","./src/app/core/store/reducers/drone-pilots.reducer.ts","./src/app/core/store/reducers/drones.reducer.ts","./src/app/core/store/reducers/field.reducer.ts","./src/app/core/store/reducers/material.reducer.ts","./src/app/core/store/reducers/pilot-tasks.reducer.ts","./src/app/core/store/reducers/protocol.reducer.ts","./src/app/core/store/reducers/task.reducer.ts","./src/app/core/store/reducers/user.reducer.ts","./src/app/core/store/selectors/auth.selectors.ts","./src/app/core/store/selectors/customer.selectors.ts","./src/app/core/store/selectors/drone-pilots.selectors.ts","./src/app/core/store/selectors/drones.selectors.ts","./src/app/core/store/selectors/field.selectors.ts","./src/app/core/store/selectors/material.selectors.ts","./src/app/core/store/selectors/protocol.selectors.ts","./src/app/core/store/selectors/task.selectors.ts","./src/app/core/store/selectors/user.selectors.ts","./src/app/core/utils/mat-core.module.ts","./src/app/views/modules/entity-select/entity-select.component.html","./src/app/views/modules/entity-select/entity-select.component.ts","./src/app/views/modules/entity-select/entity-select.module.ts","./src/app/views/modules/entity-select/entity-select.service.ts","./src/app/views/pages/auth/auth-notice/auth-notice.component.html","./src/app/views/pages/auth/auth-notice/auth-notice.component.ts","./src/app/views/pages/auth/auth.component.html","./src/app/views/pages/auth/auth.component.ts","./src/app/views/pages/auth/auth.module.ts","./src/app/views/pages/auth/forgot-password/forgot-password.component.html","./src/app/views/pages/auth/forgot-password/forgot-password.component.ts","./src/app/views/pages/auth/login/login.component.html","./src/app/views/pages/auth/login/login.component.ts","./src/app/views/pages/auth/register/confirm-password.validator.ts","./src/app/views/pages/auth/register/register.component.html","./src/app/views/pages/auth/register/register.component.ts","./src/app/views/pages/customers/customers-list/customers-list.component.html","./src/app/views/pages/customers/customers-list/customers-list.component.ts","./src/app/views/pages/customers/customers-list/customers-table/customers-table.component.html","./src/app/views/pages/customers/customers-list/customers-table/customers-table.component.ts","./src/app/views/pages/customers/customers-routing.module.ts","./src/app/views/pages/customers/customers.component.html","./src/app/views/pages/customers/customers.component.ts","./src/app/views/pages/customers/customers.module.ts","./src/app/views/pages/customers/edit-customer/edit-customer.component.html","./src/app/views/pages/customers/edit-customer/edit-customer.component.ts","./src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-list.component.html","./src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-list.component.ts","./src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-table/drone-pilots-table.component.html","./src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-table/drone-pilots-table.component.ts","./src/app/views/pages/drone-pilots/drone-pilots.component.html","./src/app/views/pages/drone-pilots/drone-pilots.component.ts","./src/app/views/pages/drone-pilots/drone-pilots.module.ts","./src/app/views/pages/drone-pilots/edit-drone-pilot/edit-drone-pilot.component.html","./src/app/views/pages/drone-pilots/edit-drone-pilot/edit-drone-pilot.component.ts","./src/app/views/pages/drones/drones-list/drones-list.component.html","./src/app/views/pages/drones/drones-list/drones-list.component.ts","./src/app/views/pages/drones/drones-list/drones-table/drones-table.component.html","./src/app/views/pages/drones/drones-list/drones-table/drones-table.component.ts","./src/app/views/pages/drones/drones.component.html","./src/app/views/pages/drones/drones.component.ts","./src/app/views/pages/drones/drones.module.ts","./src/app/views/pages/drones/edit-drone/edit-drone.component.html","./src/app/views/pages/drones/edit-drone/edit-drone.component.ts","./src/app/views/pages/fields/edit-field/coordinates-list/coordinates-list.component.html","./src/app/views/pages/fields/edit-field/coordinates-list/coordinates-list.component.ts","./src/app/views/pages/fields/edit-field/edit-field.component.html","./src/app/views/pages/fields/edit-field/edit-field.component.ts","./src/app/views/pages/fields/field-map/field-map.component.html","./src/app/views/pages/fields/field-map/field-map.component.ts","./src/app/views/pages/fields/fields-list/fields-list.component.html","./src/app/views/pages/fields/fields-list/fields-list.component.ts","./src/app/views/pages/fields/fields-list/fields-table/fields-table.component.html","./src/app/views/pages/fields/fields-list/fields-table/fields-table.component.ts","./src/app/views/pages/fields/fields-routing.module.ts","./src/app/views/pages/fields/fields.component.html","./src/app/views/pages/fields/fields.component.ts","./src/app/views/pages/fields/fields.module.ts","./src/app/views/pages/fields/import-fields/import-fields.component.html","./src/app/views/pages/fields/import-fields/import-fields.component.ts","./src/app/views/pages/materials/edit-materials/edit-materials.component.html","./src/app/views/pages/materials/edit-materials/edit-materials.component.ts","./src/app/views/pages/materials/materials-list/materials-list.component.html","./src/app/views/pages/materials/materials-list/materials-list.component.ts","./src/app/views/pages/materials/materials-list/materials-table/materials-table.component.html","./src/app/views/pages/materials/materials-list/materials-table/materials-table.component.ts","./src/app/views/pages/materials/materials.component.html","./src/app/views/pages/materials/materials.component.ts","./src/app/views/pages/materials/materials.module.ts","./src/app/views/pages/pages.module.ts","./src/app/views/pages/protocols/edit-protocol/edit-protocol.component.html","./src/app/views/pages/protocols/edit-protocol/edit-protocol.component.ts","./src/app/views/pages/protocols/protocols-list/protocols-list.component.html","./src/app/views/pages/protocols/protocols-list/protocols-list.component.ts","./src/app/views/pages/protocols/protocols-list/protocols-table/protocols-table.component.html","./src/app/views/pages/protocols/protocols-list/protocols-table/protocols-table.component.ts","./src/app/views/pages/protocols/protocols.component.html","./src/app/views/pages/protocols/protocols.component.ts","./src/app/views/pages/protocols/protocols.module.ts","./src/app/views/pages/tasks/assign-tasks/assign-selected-form/assign-selected-form.component.html","./src/app/views/pages/tasks/assign-tasks/assign-selected-form/assign-selected-form.component.ts","./src/app/views/pages/tasks/assign-tasks/assign-tasks.component.html","./src/app/views/pages/tasks/assign-tasks/assign-tasks.component.ts","./src/app/views/pages/tasks/assign-tasks/task-fields-map/task-fields-map.component.html","./src/app/views/pages/tasks/assign-tasks/task-fields-map/task-fields-map.component.ts","./src/app/views/pages/tasks/assign-tasks/task-fields-table/task-fields-table.component.html","./src/app/views/pages/tasks/assign-tasks/task-fields-table/task-fields-table.component.ts","./src/app/views/pages/tasks/assign-tasks/tasks-filter/tasks-filter.component.html","./src/app/views/pages/tasks/assign-tasks/tasks-filter/tasks-filter.component.ts","./src/app/views/pages/tasks/completed-tasks/completed-tasks-filter/completed-tasks-filter.component.html","./src/app/views/pages/tasks/completed-tasks/completed-tasks-filter/completed-tasks-filter.component.ts","./src/app/views/pages/tasks/completed-tasks/completed-tasks-table/completed-tasks-table.component.html","./src/app/views/pages/tasks/completed-tasks/completed-tasks-table/completed-tasks-table.component.ts","./src/app/views/pages/tasks/completed-tasks/completed-tasks.component.html","./src/app/views/pages/tasks/completed-tasks/completed-tasks.component.ts","./src/app/views/pages/tasks/import-task/import-task.component.html","./src/app/views/pages/tasks/import-task/import-task.component.ts","./src/app/views/pages/tasks/task-controller/controller-assign-selected/controller-assign-selected.component.html","./src/app/views/pages/tasks/task-controller/controller-assign-selected/controller-assign-selected.component.ts","./src/app/views/pages/tasks/task-controller/controller-filter/controller-filter.component.html","./src/app/views/pages/tasks/task-controller/controller-filter/controller-filter.component.ts","./src/app/views/pages/tasks/task-controller/controller-map/controller-map.component.html","./src/app/views/pages/tasks/task-controller/controller-map/controller-map.component.ts","./src/app/views/pages/tasks/task-controller/controller-map/route-list/route-list.component.html","./src/app/views/pages/tasks/task-controller/controller-map/route-list/route-list.component.ts","./src/app/views/pages/tasks/task-controller/controller-table/controller-table.component.html","./src/app/views/pages/tasks/task-controller/controller-table/controller-table.component.ts","./src/app/views/pages/tasks/task-controller/task-controller.component.html","./src/app/views/pages/tasks/task-controller/task-controller.component.ts","./src/app/views/pages/tasks/task-edit/task-edit.component.html","./src/app/views/pages/tasks/task-edit/task-edit.component.ts","./src/app/views/pages/tasks/tasks-list/tasks-list.component.html","./src/app/views/pages/tasks/tasks-list/tasks-list.component.ts","./src/app/views/pages/tasks/tasks-list/tasks-table/tasks-table.component.html","./src/app/views/pages/tasks/tasks-list/tasks-table/tasks-table.component.ts","./src/app/views/pages/tasks/tasks-routing.module.ts","./src/app/views/pages/tasks/tasks.component.html","./src/app/views/pages/tasks/tasks.component.ts","./src/app/views/pages/tasks/tasks.module.ts","./src/app/views/pages/user-management/roles/role-edit/role-edit.dialog.component.html","./src/app/views/pages/user-management/roles/role-edit/role-edit.dialog.component.ts","./src/app/views/pages/user-management/roles/roles-list/roles-list.component.html","./src/app/views/pages/user-management/roles/roles-list/roles-list.component.ts","./src/app/views/pages/user-management/user-management.component.html","./src/app/views/pages/user-management/user-management.component.ts","./src/app/views/pages/user-management/user-management.module.ts","./src/app/views/pages/user-management/user-profile/user-profile.component.html","./src/app/views/pages/user-management/user-profile/user-profile.component.ts","./src/app/views/pages/user-management/users/user-edit/user-edit.component.html","./src/app/views/pages/user-management/users/user-edit/user-edit.component.ts","./src/app/views/pages/user-management/users/users-list/users-list.component.html","./src/app/views/pages/user-management/users/users-list/users-list.component.ts","./src/app/views/pages/user-management/users/users-list/users-table/users-table.component.html","./src/app/views/pages/user-management/users/users-list/users-table/users-table.component.ts","./src/app/views/partials/content/crud/action-natification/action-notification.component.html","./src/app/views/partials/content/crud/action-natification/action-notification.component.ts","./src/app/views/partials/content/crud/alert/alert.component.html","./src/app/views/partials/content/crud/alert/alert.component.ts","./src/app/views/partials/content/crud/delete-entity-dialog/delete-entity-dialog.component.html","./src/app/views/partials/content/crud/delete-entity-dialog/delete-entity-dialog.component.ts","./src/app/views/partials/content/crud/fetch-entity-dialog/fetch-entity-dialog.component.ts","./src/app/views/partials/content/crud/index.ts","./src/app/views/partials/content/crud/update-status-dialog/update-status-dialog.component.ts","./src/app/views/partials/content/general/datatable/datatable.component.html","./src/app/views/partials/content/general/datatable/datatable.component.ts","./src/app/views/partials/content/general/generic-portlet/generic-portlet.component.html","./src/app/views/partials/content/general/generic-portlet/generic-portlet.component.ts","./src/app/views/partials/content/general/portlet/portlet-body.component.ts.PortletBodyComponent.html","./src/app/views/partials/content/general/portlet/portlet-body.component.ts","./src/app/views/partials/content/general/portlet/portlet-header.html","./src/app/views/partials/content/general/portlet/portlet-header.component.ts","./src/app/views/partials/content/general/portlet/portlet.component.html","./src/app/views/partials/content/general/portlet/portlet.component.ts","./src/app/views/partials/content/general/portlet/portlet.module.ts","./src/app/views/partials/content/widgets/widget.module.ts","./src/app/views/partials/layout/mat-select-filter/mat-select-filter.component.html","./src/app/views/partials/layout/mat-select-filter/mat-select-filter.component.ts","./src/app/views/partials/layout/mat-select-search/mat-select-search.component.html","./src/app/views/partials/layout/mat-select-search/mat-select-search.component.ts","./src/app/views/partials/layout/quick-panel/quick-panel.component.html","./src/app/views/partials/layout/quick-panel/quick-panel.component.ts","./src/app/views/partials/layout/quick-user-panel/quick-user-panel.component.html","./src/app/views/partials/layout/quick-user-panel/quick-user-panel.component.ts","./src/app/views/partials/layout/scroll-top/scroll-top.component.html","./src/app/views/partials/layout/scroll-top/scroll-top.component.ts","./src/app/views/partials/layout/search-result/search-result.component.html","./src/app/views/partials/layout/search-result/search-result.component.ts","./src/app/views/partials/layout/splash-screen/splash-screen.component.html","./src/app/views/partials/layout/splash-screen/splash-screen.component.ts","./src/app/views/partials/layout/sticky-toolbar/sticky-toolbar.component.html","./src/app/views/partials/layout/sticky-toolbar/sticky-toolbar.component.ts","./src/app/views/partials/layout/topbar/language-selector/language-selector.component.html","./src/app/views/partials/layout/topbar/language-selector/language-selector.component.ts","./src/app/views/partials/layout/topbar/notification/notification.component.html","./src/app/views/partials/layout/topbar/notification/notification.component.ts","./src/app/views/partials/layout/topbar/quick-action/quick-action.component.html","./src/app/views/partials/layout/topbar/quick-action/quick-action.component.ts","./src/app/views/partials/layout/topbar/search-dropdown/search-dropdown.component.html","./src/app/views/partials/layout/topbar/search-dropdown/search-dropdown.component.ts","./src/app/views/partials/layout/topbar/user-profile/user-profile.component.html","./src/app/views/partials/layout/topbar/user-profile/user-profile.component.ts","./src/app/views/partials/layout/topbar/user-profile4/user-profile4.component.html","./src/app/views/partials/layout/topbar/user-profile4/user-profile4.component.ts","./src/app/views/partials/partials.module.ts","./src/app/views/theme/aside/aside-left.component.html","./src/app/views/theme/aside/aside-left.component.ts","./src/app/views/theme/base/base.component.html","./src/app/views/theme/base/base.component.ts","./src/app/views/theme/brand/brand.component.html","./src/app/views/theme/brand/brand.component.ts","./src/app/views/theme/footer/footer.component.html","./src/app/views/theme/footer/footer.component.ts","./src/app/views/theme/header/header-mobile/header-mobile.component.html","./src/app/views/theme/header/header-mobile/header-mobile.component.ts","./src/app/views/theme/header/header.component.html","./src/app/views/theme/header/header.component.ts","./src/app/views/theme/header/menu-horizontal/menu-horizontal.component.html","./src/app/views/theme/header/menu-horizontal/menu-horizontal.component.ts","./src/app/views/theme/header/topbar/topbar.component.html","./src/app/views/theme/header/topbar/topbar.component.ts","./src/app/views/theme/html-class.service.ts","./src/app/views/theme/theme.module.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-es2019.6fa3e9c4dbde567d5ebe.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 = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n// Components\r\nimport { BaseComponent } from \"./views/theme/base/base.component\";\r\n// Auth\r\nimport { AuthGuard } from \"./core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"auth\",\r\n loadChildren: () =>\r\n import(\"./views/pages/auth/auth.module\").then((m) => m.AuthModule),\r\n },\r\n {\r\n path: \"\",\r\n component: BaseComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n {\r\n path: \"dashboard\",\r\n loadChildren: () =>\r\n import(\"./views/pages/dashboard/dashboard.module\").then(\r\n (m) => m.DashboardModule\r\n ),\r\n },\r\n {\r\n path: \"user-management\",\r\n loadChildren: () =>\r\n import(\"./views/pages/user-management/user-management.module\").then(\r\n (m) => m.UserManagementModule\r\n ),\r\n },\r\n {\r\n path: \"drones\",\r\n loadChildren: () =>\r\n import(\"./views/pages/drones/drones.module\").then(\r\n (m) => m.DronesModule\r\n ),\r\n },\r\n {\r\n path: \"materials\",\r\n loadChildren: () =>\r\n import(\"./views/pages/materials/materials.module\").then(\r\n (m) => m.MaterialsModule\r\n ),\r\n },\r\n {\r\n path: \"drone-pilots\",\r\n loadChildren: () =>\r\n import(\"./views/pages/drone-pilots/drone-pilots.module\").then(\r\n (m) => m.DronePilotsModule\r\n ),\r\n },\r\n {\r\n path: \"protocols\",\r\n loadChildren: () =>\r\n import(\"./views/pages/protocols/protocols.module\").then(\r\n (m) => m.ProtocolsModule\r\n ),\r\n },\r\n {\r\n path: \"customers\",\r\n loadChildren: () =>\r\n import(\"./views/pages/customers/customers.module\").then(\r\n (m) => m.CustomersModule\r\n ),\r\n },\r\n {\r\n path: \"fields\",\r\n loadChildren: () =>\r\n import(\"./views/pages/fields/fields.module\").then(\r\n (m) => m.FieldsModule\r\n ),\r\n },\r\n {\r\n path: \"tasks\",\r\n loadChildren: () =>\r\n import(\"./views/pages/tasks/tasks.module\").then((m) => m.TasksModule),\r\n },\r\n {\r\n path: \"pilot-tasks\",\r\n loadChildren: () =>\r\n import(\"./views/pages/pilot-tasks/pilot-tasks.module\").then(\r\n (m) => m.PilotTasksModule\r\n ),\r\n },\r\n {\r\n path: \"builder\",\r\n loadChildren: () =>\r\n import(\"./views/theme/content/builder/builder.module\").then(\r\n (m) => m.BuilderModule\r\n ),\r\n },\r\n { path: \"\", redirectTo: \"dashboard\", pathMatch: \"full\" },\r\n { path: \"**\", redirectTo: \"dashboard\", pathMatch: \"full\" },\r\n ],\r\n },\r\n { path: \"**\", redirectTo: \"error/403\", pathMatch: \"full\" },\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","\r\n\r\n","import { Subscription } from \"rxjs\";\r\n// Angular\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n SplashScreenService,\r\n TranslationService,\r\n} from \"./core/_base/layout\";\r\n// language list\r\nimport { locale as enLang } from \"./core/_config/i18n/en\";\r\nimport { locale as chLang } from \"./core/_config/i18n/ch\";\r\nimport { locale as esLang } from \"./core/_config/i18n/es\";\r\nimport { locale as jpLang } from \"./core/_config/i18n/jp\";\r\nimport { locale as deLang } from \"./core/_config/i18n/de\";\r\nimport { locale as frLang } from \"./core/_config/i18n/fr\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport {\r\n loadDroneModels,\r\n loadDronePayloads,\r\n} from \"./core/store/actions/drones.actions\";\r\nimport { loadPilotTypes } from \"./core/store/actions/drone-pilots.actions\";\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: \"body[kt-root]\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n // Public properties\r\n title = \"Metronic\";\r\n loader: boolean;\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param translationService: TranslationService\r\n * @param router: Router\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param splashScreenService: SplashScreenService\r\n */\r\n constructor(\r\n private translationService: TranslationService,\r\n private router: Router,\r\n private layoutConfigService: LayoutConfigService,\r\n private splashScreenService: SplashScreenService,\r\n private store: Store\r\n ) {\r\n // register translations\r\n this.translationService.loadTranslations(\r\n enLang,\r\n chLang,\r\n esLang,\r\n jpLang,\r\n deLang,\r\n frLang\r\n );\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // this.store.dispatch(loadPilotTypes());\r\n // this.store.dispatch(loadDroneModels());\r\n // this.store.dispatch(loadDronePayloads());\r\n\r\n // enable/disable loader\r\n\r\n this.loader = this.layoutConfigService.getConfig(\"page-loader.type\");\r\n let config = this.layoutConfigService.getSavedConfig();\r\n config.content.width = \"fluid\";\r\n this.layoutConfigService.setConfig(config, true);\r\n\r\n const routerSubscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n // hide splash screen\r\n this.splashScreenService.hide();\r\n\r\n // scroll to top on every route change\r\n window.scrollTo(0, 0);\r\n\r\n // to display back the body content\r\n setTimeout(() => {\r\n document.body.classList.add(\"page-loaded\");\r\n }, 500);\r\n }\r\n });\r\n this.unsubscribe.push(routerSubscription);\r\n }\r\n\r\n /**\r\n * On Destroy\r\n */\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n }\r\n}\r\n","import { ActionNotificationComponent } from \"./views/partials/content/crud/action-natification/action-notification.component\";\r\nimport { ModuleGuard } from \"./core/auth/_guards/module.guard\";\r\nimport { ControllerAssignSelectedComponent } from \"./views/pages/tasks/task-controller/controller-assign-selected/controller-assign-selected.component\";\r\nimport { CommonModule } from \"@angular/common\";\r\n// Angular\r\nimport {\r\n BrowserModule,\r\n HAMMER_GESTURE_CONFIG,\r\n} from \"@angular/platform-browser\";\r\nimport { APP_INITIALIZER, NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { GestureConfig } from \"@angular/material/core\";\r\nimport { OverlayModule } from \"@angular/cdk/overlay\";\r\n// Angular in memory\r\nimport { HttpClientInMemoryWebApiModule } from \"angular-in-memory-web-api\";\r\n// Perfect Scroll bar\r\nimport {\r\n PERFECT_SCROLLBAR_CONFIG,\r\n PerfectScrollbarConfigInterface,\r\n} from \"ngx-perfect-scrollbar\";\r\n// SVG inline\r\nimport { InlineSVGModule } from \"ng-inline-svg\";\r\n// Env\r\nimport { environment } from \"../environments/environment\";\r\n// Hammer JS\r\nimport \"hammerjs\";\r\n// NGX Permissions\r\nimport { NgxPermissionsModule } from \"ngx-permissions\";\r\n// NGRX\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { StoreRouterConnectingModule } from \"@ngrx/router-store\";\r\nimport { StoreDevtoolsModule } from \"@ngrx/store-devtools\";\r\n// State\r\nimport { metaReducers, reducers } from \"./core/reducers\";\r\n// Components\r\nimport { AppComponent } from \"./app.component\";\r\n// Modules\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { CoreModule } from \"./core/core.module\";\r\nimport { ThemeModule } from \"./views/theme/theme.module\";\r\n// Partials\r\nimport { PartialsModule } from \"./views/partials/partials.module\";\r\n// Layout Services\r\nimport {\r\n DataTableService,\r\n FakeApiService,\r\n KtDialogService,\r\n LayoutConfigService,\r\n LayoutRefService,\r\n MenuAsideService,\r\n MenuConfigService,\r\n MenuHorizontalService,\r\n PageConfigService,\r\n SplashScreenService,\r\n SubheaderService,\r\n} from \"./core/_base/layout\";\r\n// Auth\r\nimport { AuthModule } from \"./views/pages/auth/auth.module\";\r\nimport { AuthService } from \"./core/auth\";\r\n// CRUD\r\nimport {\r\n HttpUtilsService,\r\n LayoutUtilsService,\r\n TypesUtilsService,\r\n} from \"./core/_base/crud\";\r\n// Config\r\nimport { LayoutConfig } from \"./core/_config/layout.config\";\r\n// Highlight JS\r\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from \"ngx-highlightjs\";\r\nimport xml from \"highlight.js/lib/languages/xml\";\r\nimport json from \"highlight.js/lib/languages/json\";\r\nimport scss from \"highlight.js/lib/languages/scss\";\r\nimport typescript from \"highlight.js/lib/languages/typescript\";\r\n\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { AssignSelectedFormComponent } from \"./views/pages/tasks/assign-tasks/assign-selected-form/assign-selected-form.component\";\r\nimport { UpdateStatusDialogComponent } from \"./views/partials/content/crud\";\r\nimport { ChildModuleGuard } from \"./core/auth/_guards/child-module.guard\";\r\n// tslint:disable-next-line:class-name\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n};\r\n\r\nexport function initializeLayoutConfig(appConfig: LayoutConfigService) {\r\n // initialize app by loading default demo layout config\r\n return () => {\r\n if (appConfig.getConfig() === null) {\r\n appConfig.loadConfigs(new LayoutConfig().configs);\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Import specific languages to avoid importing everything\r\n * The following will lazy load highlight.js core script (~9.6KB) + the selected languages bundle (each lang. ~1kb)\r\n */\r\nexport function getHighlightLanguages() {\r\n return [\r\n { name: \"typescript\", func: typescript },\r\n { name: \"scss\", func: scss },\r\n { name: \"xml\", func: xml },\r\n { name: \"json\", func: json },\r\n ];\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n libraries: [\"places\", \"drawing\", \"geometry\"],\r\n }),\r\n BrowserAnimationsModule,\r\n CommonModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n environment.isMockEnabled\r\n ? HttpClientInMemoryWebApiModule.forRoot(FakeApiService, {\r\n passThruUnknownUrl: true,\r\n dataEncapsulation: false,\r\n })\r\n : [],\r\n NgxPermissionsModule.forRoot(),\r\n HighlightModule,\r\n PartialsModule,\r\n CoreModule,\r\n OverlayModule,\r\n StoreModule.forRoot(reducers, { metaReducers }),\r\n EffectsModule.forRoot([]),\r\n StoreRouterConnectingModule.forRoot({ stateKey: \"router\" }),\r\n StoreDevtoolsModule.instrument(),\r\n AuthModule.forRoot(),\r\n TranslateModule.forRoot(),\r\n MatProgressSpinnerModule,\r\n InlineSVGModule.forRoot(),\r\n ThemeModule,\r\n ],\r\n exports: [],\r\n providers: [\r\n LayoutConfigService,\r\n LayoutRefService,\r\n MenuConfigService,\r\n PageConfigService,\r\n KtDialogService,\r\n DataTableService,\r\n SplashScreenService,\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG,\r\n },\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: GestureConfig,\r\n },\r\n {\r\n // layout config initializer\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeLayoutConfig,\r\n deps: [LayoutConfigService],\r\n multi: true,\r\n },\r\n {\r\n provide: HIGHLIGHT_OPTIONS,\r\n useValue: {\r\n languages: getHighlightLanguages,\r\n },\r\n },\r\n // template services\r\n SubheaderService,\r\n MenuHorizontalService,\r\n MenuAsideService,\r\n HttpUtilsService,\r\n TypesUtilsService,\r\n LayoutUtilsService,\r\n ModuleGuard,\r\n ChildModuleGuard,\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n AssignSelectedFormComponent,\r\n ControllerAssignSelectedComponent,\r\n ActionNotificationComponent,\r\n ],\r\n})\r\nexport class AppModule {}\r\n","// Models\r\nexport { BaseModel } from './models/_base.model';\r\nexport { BaseDataSource } from './models/_base.datasource';\r\nexport { QueryParamsModel } from './models/query-models/query-params.model';\r\nexport { QueryResultsModel } from './models/query-models/query-results.model';\r\nexport { HttpExtenstionsModel } from './models/http-extentsions-model';\r\n// Utils\r\nexport { HttpUtilsService } from './utils/http-utils.service';\r\nexport { TypesUtilsService } from './utils/types-utils.service';\r\nexport { InterceptService } from './utils/intercept.service';\r\nexport { LayoutUtilsService, MessageType } from './utils/layout-utils.service';\r\n","// Angular\r\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\r\n// RxJS\r\nimport { Observable, BehaviorSubject, Subscription, of } from 'rxjs';\r\n// CRUD\r\nimport { HttpExtenstionsModel } from './http-extentsions-model';\r\nimport { QueryParamsModel } from './query-models/query-params.model';\r\nimport { QueryResultsModel } from './query-models/query-results.model';\r\nimport { BaseModel } from './_base.model';\r\nimport { skip, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n// Why not use MatTableDataSource?\r\n/* In this example, we will not be using the built-in MatTableDataSource because its designed for filtering,\r\n\tsorting and pagination of a client - side data array.\r\n\tRead the article: 'https://blog.angular-university.io/angular-material-data-table/'\r\n**/\r\nexport class BaseDataSource implements DataSource {\r\n entitySubject = new BehaviorSubject([]);\r\n hasItems = true; // Need to show message: 'No records found'\r\n\r\n // Loading | Progress bar\r\n loading$: Observable;\r\n isPreloadTextViewed$: Observable = of(true);\r\n\r\n // Paginator | Paginators count\r\n paginatorTotalSubject = new BehaviorSubject(0);\r\n paginatorTotal$: Observable;\r\n subscriptions: Subscription[] = [];\r\n\r\n constructor() {\r\n this.paginatorTotal$ = this.paginatorTotalSubject.asObservable();\r\n\r\n // subscribe hasItems to (entitySubject.length==0)\r\n const hasItemsSubscription = this.paginatorTotal$.pipe(\r\n distinctUntilChanged(),\r\n skip(1)\r\n ).subscribe(res => this.hasItems = res > 0);\r\n this.subscriptions.push(hasItemsSubscription);\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n // Connecting data source\r\n return this.entitySubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n // Disconnect data source\r\n this.entitySubject.complete();\r\n this.paginatorTotalSubject.complete();\r\n this.subscriptions.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n baseFilter(entities: any[], queryParams: QueryParamsModel, filtrationFields: string[] = []): QueryResultsModel {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.baseFilter(entities, queryParams, filtrationFields);\r\n }\r\n\r\n sortArray(incomingArray: any[], sortField: string = '', sortOrder: string = 'asc'): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.sortArray(incomingArray, sortField, sortOrder);\r\n }\r\n\r\n searchInArray(incomingArray: any[], queryObj: any, filtrationFields: string[] = []): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.searchInArray(incomingArray, queryObj, filtrationFields);\r\n }\r\n}\r\n","export class BaseModel {\r\n // Edit\r\n // tslint:disable-next-line:variable-name\r\n _isEditMode = false;\r\n // Log\r\n // tslint:disable-next-line:variable-name\r\n _userId = 0; // Admin\r\n // tslint:disable-next-line:variable-name\r\n _createdDate: string;\r\n // tslint:disable-next-line:variable-name\r\n _updatedDate: string;\r\n}\r\n","// CRUD\r\nimport { QueryParamsModel } from './query-models/query-params.model';\r\nimport { QueryResultsModel } from './query-models/query-results.model';\r\n\r\nexport class HttpExtenstionsModel {\r\n\r\n /**\r\n * Filtration with sorting\r\n * First do Sort then filter\r\n *\r\n * @param entities: any[]\r\n * @param queryParams: QueryParamsModel\r\n * @param filtrationFields: string[]\r\n */\r\n baseFilter(entities: any[], queryParams: QueryParamsModel, filtrationFields: string[] = []): QueryResultsModel {\r\n // Filtration\r\n let entitiesResult = this.searchInArray(entities, queryParams.filter, filtrationFields);\r\n\r\n // Sorting\r\n // start\r\n if (queryParams.sortField) {\r\n entitiesResult = this.sortArray(entitiesResult, queryParams.sortField, queryParams.sortOrder);\r\n }\r\n // end\r\n\r\n // Paginator\r\n // start\r\n const totalCount = entitiesResult.length;\r\n const initialPos = queryParams.pageNumber * queryParams.pageSize;\r\n entitiesResult = entitiesResult.slice(initialPos, initialPos + queryParams.pageSize);\r\n // end\r\n\r\n const queryResults = new QueryResultsModel();\r\n queryResults.items = entitiesResult;\r\n queryResults.totalCount = totalCount;\r\n return queryResults;\r\n }\r\n\r\n /**\r\n * Sort array by field name and order-type\r\n * @param incomingArray: any[]\r\n * @param sortField: string\r\n * @param sortOrder: string\r\n */\r\n sortArray(incomingArray: any[], sortField: string = '', sortOrder: string = 'asc'): any[] {\r\n if (!sortField) {\r\n return incomingArray;\r\n }\r\n\r\n let result: any[] = [];\r\n result = incomingArray.sort((a, b) => {\r\n if (a[sortField] < b[sortField]) {\r\n return sortOrder === 'asc' ? -1 : 1;\r\n }\r\n\r\n if (a[sortField] > b[sortField]) {\r\n return sortOrder === 'asc' ? 1 : -1;\r\n }\r\n\r\n return 0;\r\n });\r\n return result;\r\n }\r\n\r\n /**\r\n * Filter array by some fields\r\n *\r\n * @param incomingArray: any[]\r\n * @param queryObj: any\r\n * @param filtrationFields: string[]\r\n */\r\n searchInArray(incomingArray: any[], queryObj: any, filtrationFields: string[] = []): any[] {\r\n const result: any[] = [];\r\n let resultBuffer: any[] = [];\r\n const indexes: number[] = [];\r\n let firstIndexes: number[] = [];\r\n let doSearch = false;\r\n\r\n filtrationFields.forEach(item => {\r\n if (item in queryObj) {\r\n incomingArray.forEach((element, index) => {\r\n if (element[item] === queryObj[item]) {\r\n firstIndexes.push(index);\r\n }\r\n });\r\n firstIndexes.forEach(element => {\r\n resultBuffer.push(incomingArray[element]);\r\n });\r\n incomingArray = resultBuffer.slice(0);\r\n resultBuffer = [].slice(0);\r\n firstIndexes = [].slice(0);\r\n }\r\n });\r\n\r\n Object.keys(queryObj).forEach(key => {\r\n const searchText = queryObj[key].toString().trim().toLowerCase();\r\n if (key && !filtrationFields.some(e => e === key) && searchText) {\r\n doSearch = true;\r\n try {\r\n incomingArray.forEach((element, index) => {\r\n if (element[key]) {\r\n const val = element[key].toString().trim().toLowerCase();\r\n if (val.indexOf(searchText) > -1 && indexes.indexOf(index) === -1) {\r\n indexes.push(index);\r\n }\r\n }\r\n });\r\n } catch (ex) {\r\n console.log(ex, key, searchText);\r\n }\r\n }\r\n });\r\n\r\n if (!doSearch) {\r\n return incomingArray;\r\n }\r\n\r\n indexes.forEach(re => {\r\n result.push(incomingArray[re]);\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","export class QueryParamsModel {\r\n // fields\r\n filter: any;\r\n sortOrder: string; // asc || desc\r\n sortField: string;\r\n pageNumber: number;\r\n pageSize: number;\r\n\r\n // constructor overrides\r\n constructor(filter, sortOrder = 'asc', sortField = '', pageNumber = 0, pageSize = 10) {\r\n this.filter = filter;\r\n this.sortOrder = sortOrder;\r\n this.sortField = sortField;\r\n this.pageNumber = pageNumber;\r\n this.pageSize = pageSize;\r\n }\r\n}\r\n","export class QueryResultsModel {\r\n // fields\r\n items: any[];\r\n totalCount: number;\r\n errorMessage: string;\r\n\r\n constructor(items: any[] = [], totalCount: number = 0, errorMessage: string = '') {\r\n this.items = items;\r\n this.totalCount = totalCount;\r\n }\r\n}\r\n","// Angular\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpHeaders, HttpParams} from '@angular/common/http';\r\n// CRUD\r\nimport {QueryResultsModel} from '../models/query-models/query-results.model';\r\nimport {QueryParamsModel} from '../models/query-models/query-params.model';\r\nimport {HttpExtenstionsModel} from '../../crud/models/http-extentsions-model';\r\n\r\n@Injectable()\r\nexport class HttpUtilsService {\r\n /**\r\n * Prepare query http params\r\n * @param queryParams: QueryParamsModel\r\n */\r\n getFindHTTPParams(queryParams): HttpParams {\r\n return new HttpParams()\r\n .set('lastNamefilter', queryParams.filter)\r\n .set('sortOrder', queryParams.sortOrder)\r\n .set('sortField', queryParams.sortField)\r\n .set('pageNumber', queryParams.pageNumber.toString())\r\n .set('pageSize', queryParams.pageSize.toString());\r\n }\r\n\r\n /**\r\n * get standard content-type\r\n */\r\n getHTTPHeaders(): HttpHeaders {\r\n let result = new HttpHeaders();\r\n result = result.set('Content-Type', 'application/json');\r\n return result;\r\n }\r\n\r\n baseFilter(entities: any[], queryParams: QueryParamsModel, filtrationFields: string[] = []): QueryResultsModel {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.baseFilter(entities, queryParams, filtrationFields);\r\n }\r\n\r\n sortArray(incomingArray: any[], sortField: string = '', sortOrder: string = 'asc'): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.sortArray(incomingArray, sortField, sortOrder);\r\n }\r\n\r\n searchInArray(incomingArray: any[], queryObj: any, filtrationFields: string[] = []): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.searchInArray(incomingArray, queryObj, filtrationFields);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpClient, HttpErrorResponse } from '@angular/common/http';\r\n// RxJS\r\nimport { Observable, BehaviorSubject, throwError } from 'rxjs';\r\nimport { tap, catchError, switchMap, finalize, filter, take } from 'rxjs/operators';\r\nimport { AuthService } from 'src/app/core/services/auth.service';\r\nimport { Store } from '@ngrx/store';\r\nimport { Logout } from 'src/app/core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\n\r\n/**\r\n * More information there => https://medium.com/@MetonymyQT/angular-http-interceptors-what-are-they-and-how-to-use-them-52e060321088\r\n */\r\n@Injectable()\r\nexport class InterceptService implements HttpInterceptor {\r\n constructor(\r\n private store: Store,\r\n private http: HttpClient,\r\n private auth: AuthService\r\n) {}\r\n\r\nisRefreshingToken: boolean = false;\r\ntokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\naddToken(req: HttpRequest): HttpRequest {\r\n //token = \"Bearer \" + token;\r\n let token = this.auth.getToken()\r\n return token ? req.clone({\r\n setHeaders: {\r\n Authorization: \"Bearer \" + token\r\n }\r\n }) : req;\r\n}\r\n\r\nintercept(req: HttpRequest, next: HttpHandler): Observable { \r\n return next.handle(this.addToken(req)).pipe(\r\n catchError(error => {\r\n if (error instanceof HttpErrorResponse) {\r\n switch ((error).status) {\r\n case 400:\r\n return this.handle400Error(error);\r\n case 401:\r\n console.log(\"401 error:\", error);\r\n return this.handle401Error(req, next, error);\r\n default:\r\n return throwError(error);\r\n }\r\n } else {\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n}\r\n\r\nhandle400Error(error) {\r\n if (\r\n error &&\r\n error.status === 400\r\n ) {\r\n // If we get a 400 and the error message is 'invalid_grant', the token is no longer valid so logout.\r\n return this.logoutUser(error);\r\n }\r\n\r\n return throwError(error);\r\n}\r\n\r\nhandle401Error(req: HttpRequest, next: HttpHandler, error) {\r\n\r\n if (error &&\r\n error.status === 401) {\r\n return this.logoutUser(error);\r\n }\r\n\r\n\r\n return throwError(error);\r\n // if (!this.isRefreshingToken) {\r\n // this.isRefreshingToken = true;\r\n\r\n // // Reset here so that the following requests wait until the token\r\n // // comes back from the refreshToken call.\r\n // this.tokenSubject.next(null);\r\n\r\n // return this.auth.refreshToken().pipe(\r\n // switchMap(newToken => {\r\n // localStorage.setItem(\"authToken\", newToken.token);\r\n // const token = localStorage.getItem(\"authToken\");\r\n // if (newToken) {\r\n // this.tokenSubject.next(newToken);\r\n // return next.handle(this.addToken(req, token));\r\n // }\r\n\r\n // return this.logoutUser(error);\r\n // }),\r\n // catchError(error => {\r\n // return this.logoutUser(error);\r\n // }),\r\n // finalize(() => {\r\n // this.isRefreshingToken = false;\r\n // })\r\n // );\r\n // } else {\r\n // return this.tokenSubject.pipe(\r\n // filter(token => token != null),\r\n // take(1),\r\n // switchMap(token => {\r\n // return next.handle(this.addToken(req, token));\r\n // })\r\n // );\r\n // }\r\n}\r\n\r\nlogoutUser(error) {\r\n console.log(\"logout user\");\r\n this.store.dispatch(logout());\r\n return throwError(error);\r\n}\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n// Partials for CRUD\r\nimport {\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent\r\n} from '../../../../views/partials/content/crud';\r\n\r\nexport enum MessageType {\r\n Create,\r\n Read,\r\n Update,\r\n Delete\r\n}\r\n\r\n@Injectable()\r\nexport class LayoutUtilsService {\r\n /**\r\n * Service constructor\r\n *\r\n * @param snackBar: MatSnackBar\r\n * @param dialog: MatDialog\r\n */\r\n constructor(private snackBar: MatSnackBar,\r\n private dialog: MatDialog) {\r\n }\r\n\r\n /**\r\n * Showing (Mat-Snackbar) Notification\r\n *\r\n * @param message: string\r\n * @param type: MessageType\r\n * @param duration: number\r\n * @param showCloseButton: boolean\r\n * @param showUndoButton: boolean\r\n * @param undoButtonDuration: number\r\n * @param verticalPosition: 'top' | 'bottom' = 'top'\r\n */\r\n showActionNotification(\r\n message: string,\r\n type: MessageType = MessageType.Create,\r\n duration: number = 10000,\r\n showCloseButton: boolean = true,\r\n showUndoButton: boolean = true,\r\n undoButtonDuration: number = 3000,\r\n verticalPosition: 'top' | 'bottom' = 'bottom'\r\n ) {\r\n const data = {\r\n message,\r\n snackBar: this.snackBar,\r\n showCloseButton,\r\n showUndoButton,\r\n undoButtonDuration,\r\n verticalPosition,\r\n type,\r\n action: 'Undo'\r\n };\r\n return this.snackBar.openFromComponent(ActionNotificationComponent, {\r\n duration,\r\n data,\r\n verticalPosition\r\n });\r\n }\r\n\r\n /**\r\n * Showing Confirmation (Mat-Dialog) before Entity Removing\r\n *\r\n * @param title: string\r\n * @param description: string\r\n * @param waitDescription: string\r\n */\r\n deleteElement(title: string = '', description: string = '', waitDescription: string = '') {\r\n return this.dialog.open(DeleteEntityDialogComponent, {\r\n data: {title, description, waitDescription},\r\n width: '440px'\r\n });\r\n }\r\n\r\n /**\r\n * Showing Fetching Window(Mat-Dialog)\r\n *\r\n * @param data: any\r\n */\r\n fetchElements(data) {\r\n return this.dialog.open(FetchEntityDialogComponent, {\r\n data,\r\n width: '600px'\r\n });\r\n }\r\n\r\n /**\r\n * Showing Update Status for Entities Window\r\n *\r\n * @param title: string\r\n * @param statuses: string[]\r\n * @param messages: string[]\r\n */\r\n updateStatusForEntities(title, statuses, messages) {\r\n return this.dialog.open(UpdateStatusDialogComponent, {\r\n data: {title, statuses, messages},\r\n width: '600px'\r\n });\r\n }\r\n}\r\n","export enum RegEx {\r\n phone = \"^0\\\\d([\\\\d]{0,1})([-]{0,1})\\\\d{7}$\",\r\n}\r\n","/** Angular */\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class TypesUtilsService {\r\n /**\r\n * Convert number to string and adding '0' before\r\n *\r\n * @param value: number\r\n */\r\n padNumber(value: number) {\r\n if (this.isNumber(value)) {\r\n return `0${value}`.slice(-2);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n /**\r\n * Checking value type equals to Number\r\n *\r\n * @param value: any\r\n */\r\n isNumber(value: any): boolean {\r\n return !isNaN(this.toInteger(value));\r\n }\r\n\r\n /**\r\n * Covert value to number\r\n *\r\n * @param value: any\r\n */\r\n toInteger(value: any): number {\r\n return parseInt(`${value}`, 10);\r\n }\r\n\r\n /**\r\n * Convert date to string with 'MM/dd/yyyy' format\r\n *\r\n * @param date: Date\r\n */\r\n dateFormat(date: Date): string {\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n const year = date.getFullYear();\r\n if (date) {\r\n return `${month}/${day}/${year}`;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n /**\r\n * Convert Date to string with custom format 'MM/dd/yyyy'\r\n *\r\n * @param date: any\r\n */\r\n dateCustomFormat(date: any): string {\r\n let stringDate = '';\r\n if (date) {\r\n stringDate += this.isNumber(date.month) ? this.padNumber(date.month) + '/' : '';\r\n stringDate += this.isNumber(date.day) ? this.padNumber(date.day) + '/' : '';\r\n\r\n stringDate += date.year;\r\n }\r\n return stringDate;\r\n }\r\n\r\n /**\r\n * Convert string to DateFormatter (For Reactive Forms Validators)\r\n *\r\n * @param dateInStr: string (format => 'MM/dd/yyyy')\r\n */\r\n getDateFormatterFromString(dateInStr: string): any {\r\n if (dateInStr && dateInStr.length > 0) {\r\n const dateParts = dateInStr.trim().split('/');\r\n return [\r\n {\r\n year: this.toInteger(dateParts[2]),\r\n month: this.toInteger(dateParts[0]),\r\n day: this.toInteger(dateParts[1])\r\n }\r\n ];\r\n }\r\n\r\n const date = new Date();\r\n return [\r\n {\r\n year: date.getFullYear(),\r\n month: date.getMonth() + 1,\r\n day: date.getDay()\r\n }\r\n ];\r\n }\r\n\r\n /**\r\n * Convert string to Date\r\n *\r\n * @param dateInStr: string (format => 'MM/dd/yyyy')\r\n */\r\n getDateFromString(dateInStr: string = ''): Date {\r\n if (dateInStr && dateInStr.length > 0) {\r\n const dateParts = dateInStr.trim().split('/');\r\n const year = this.toInteger(dateParts[2]);\r\n const month = this.toInteger(dateParts[0]);\r\n const day = this.toInteger(dateParts[1]);\r\n // tslint:disable-next-line:prefer-const\r\n let result = new Date();\r\n result.setDate(day);\r\n result.setMonth(month - 1);\r\n result.setFullYear(year);\r\n return result;\r\n }\r\n\r\n return new Date();\r\n }\r\n\r\n\r\n /**\r\n * Convert Date to string with format 'MM/dd/yyyy'\r\n * @param date: Date?\r\n */\r\n getDateStringFromDate(date: Date = new Date()): string {\r\n const month = date.getMonth() + 1;\r\n const year = date.getFullYear();\r\n const dateToday = date.getDate();\r\n return `${month}/${dateToday}/${year}`;\r\n }\r\n}\r\n","// Angular\r\nimport { Directive, ElementRef, OnDestroy, OnInit } from '@angular/core';\r\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// RxJS\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Page load animation\r\n *\r\n */\r\n@Directive({\r\n selector: '[ktContentAnimate]'\r\n})\r\nexport class ContentAnimateDirective implements OnInit, OnDestroy {\r\n // Public properties\r\n player: AnimationPlayer;\r\n // Private properties\r\n private events: Subscription;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n * @param router: Router\r\n * @param animationBuilder: AnimationBuilder\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n private router: Router,\r\n private animationBuilder: AnimationBuilder) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // animate the content\r\n this.initAnimate();\r\n // animate page load\r\n this.events = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this.player.play();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.events.unsubscribe();\r\n this.player.destroy();\r\n }\r\n\r\n /**\r\n * Animate page load\r\n */\r\n initAnimate() {\r\n this.player = this.animationBuilder\r\n .build([\r\n // style({opacity: 0, transform: 'translateY(15px)'}),\r\n // animate(500, style({opacity: 1, transform: 'translateY(0)'})),\r\n // style({transform: 'none'}),\r\n style({\r\n transform: 'translateY(-3%)',\r\n opacity: 0,\r\n position: 'static'\r\n }),\r\n animate(\r\n '0.5s ease-in-out',\r\n style({transform: 'translateY(0%)', opacity: 1})\r\n )\r\n ])\r\n .create(this.el.nativeElement);\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n// ObjectPath\r\nimport * as objectPath from 'object-path';\r\n\r\nexport interface HeaderOptions {\r\n classic?: any;\r\n offset?: any;\r\n minimize?: any;\r\n}\r\n\r\n/**\r\n * Configure Header\r\n */\r\n@Directive({\r\n selector: '[ktHeader]',\r\n exportAs: 'ktHeader',\r\n})\r\nexport class HeaderDirective implements AfterViewInit {\r\n @Input() options: HeaderOptions = {};\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.setupOptions();\r\n\r\n const header = new KTHeader(this.el.nativeElement, this.options);\r\n }\r\n\r\n /**\r\n * Setup options to header\r\n */\r\n private setupOptions() {\r\n this.options = {\r\n classic: {\r\n desktop: true,\r\n mobile: false\r\n },\r\n };\r\n\r\n if (this.el.nativeElement.getAttribute('data-header-minimize') === '1') {\r\n objectPath.set(this.options, 'minimize', {\r\n desktop: {\r\n on: 'header-minimize'\r\n },\r\n mobile: {\r\n on: 'header-minimize'\r\n }\r\n });\r\n objectPath.set(this.options, 'offset', {\r\n desktop: 200,\r\n mobile: 150\r\n });\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n\r\nexport interface MenuOptions {\r\n scroll?: any;\r\n submenu?: any;\r\n accordion?: any;\r\n dropdown?: any;\r\n}\r\n\r\n/**\r\n * Configure menu\r\n */\r\n@Directive({\r\n selector: '[ktMenu]',\r\n exportAs: 'ktMenu',\r\n})\r\nexport class MenuDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: MenuOptions;\r\n // Private properties\r\n private menu: any;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.setupOptions();\r\n this.menu = new KTMenu(this.el.nativeElement, this.options);\r\n }\r\n\r\n /**\r\n * Return the menu\r\n */\r\n getMenu() {\r\n return this.menu;\r\n }\r\n\r\n /**\r\n * Setup menu options\r\n */\r\n private setupOptions() {\r\n // init aside menu\r\n let menuDesktopMode = 'accordion';\r\n if (this.el.nativeElement.getAttribute('data-menu-dropdown') === '1') {\r\n menuDesktopMode = 'dropdown';\r\n }\r\n\r\n if (typeof objectPath.get(this.options, 'submenu.desktop') === 'object') {\r\n objectPath.set(this.options, 'submenu.desktop', menuDesktopMode);\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\nexport interface OffcanvasOptions {\r\n baseClass: string;\r\n placement?: string;\r\n overlay?: boolean;\r\n closeBy: string;\r\n toggleBy?: any;\r\n}\r\n\r\n/**\r\n * Setup off Convas\r\n */\r\n@Directive({\r\n selector: '[ktOffcanvas]',\r\n exportAs: 'ktOffcanvas',\r\n})\r\nexport class OffcanvasDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: OffcanvasOptions;\r\n // Private properties\r\n private offcanvas: any;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.offcanvas = new KTOffcanvas(this.el.nativeElement, this.options);\r\n });\r\n }\r\n\r\n /**\r\n * Returns the offCanvas\r\n */\r\n getOffcanvas() {\r\n return this.offcanvas;\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\nexport interface ScrollTopOptions {\r\n offset: number;\r\n speed: number;\r\n}\r\n\r\n/**\r\n * Scroll to top\r\n */\r\n@Directive({\r\n selector: '[ktScrollTop]'\r\n})\r\nexport class ScrollTopDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: ScrollTopOptions;\r\n // Private properties\r\n private scrollTop: any;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.scrollTop = new KTScrolltop(this.el.nativeElement, this.options);\r\n }\r\n\r\n /**\r\n * Returns ScrollTop\r\n */\r\n getScrollTop() {\r\n return this.scrollTop;\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n// Chart\r\nimport { Chart } from 'chart.js/dist/Chart.min.js';\r\n// LayoutConfig\r\nimport { LayoutConfigService } from '../../layout/services/layout-config.service';\r\n\r\nexport interface SparklineChartOptions {\r\n // array of numbers\r\n data: number[];\r\n // chart line color\r\n color: string;\r\n // chart line size\r\n border: number;\r\n fill?: boolean;\r\n tooltip?: boolean;\r\n}\r\n\r\n/**\r\n * Configure sparkline chart\r\n */\r\n@Directive({\r\n selector: '[ktSparklineChart]',\r\n exportAs: 'ktSparklineChart'\r\n})\r\nexport class SparklineChartDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: SparklineChartOptions;\r\n // Private properties\r\n private chart: Chart;\r\n\r\n /**\r\n * Directive Constructor\r\n *\r\n * @param el: ElementRef\r\n * @param layoutConfigService: LayoutConfigService\r\n */\r\n constructor(private el: ElementRef, private layoutConfigService: LayoutConfigService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.initChart(this.el.nativeElement,\r\n this.options.data,\r\n this.options.color,\r\n this.options.border,\r\n this.options.fill,\r\n this.options.tooltip);\r\n }\r\n\r\n /**\r\n * Init chart\r\n * @param src: any\r\n * @param data: any\r\n * @param color: any\r\n * @param border: any\r\n * @param fill: any\r\n * @param tooltip: any\r\n */\r\n initChart(src, data, color, border, fill, tooltip) {\r\n if (src.length === 0) {\r\n return;\r\n }\r\n\r\n // set default values\r\n fill = (typeof fill !== 'undefined') ? fill : false;\r\n tooltip = (typeof tooltip !== 'undefined') ? tooltip : false;\r\n\r\n const config = {\r\n type: 'line',\r\n data: {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October'],\r\n datasets: [{\r\n label: '',\r\n borderColor: color,\r\n borderWidth: border,\r\n\r\n pointHoverRadius: 4,\r\n pointHoverBorderWidth: 12,\r\n pointBackgroundColor: Chart.helpers.color('#000000').alpha(0).rgbString(),\r\n pointBorderColor: Chart.helpers.color('#000000').alpha(0).rgbString(),\r\n pointHoverBackgroundColor: this.layoutConfigService.getConfig('colors.state.danger'),\r\n pointHoverBorderColor: Chart.helpers.color('#000000').alpha(0.1).rgbString(),\r\n fill: false,\r\n data,\r\n }]\r\n },\r\n options: {\r\n title: {\r\n display: false,\r\n },\r\n tooltips: {\r\n enabled: false,\r\n intersect: false,\r\n mode: 'nearest',\r\n xPadding: 10,\r\n yPadding: 10,\r\n caretPadding: 10\r\n },\r\n legend: {\r\n display: false,\r\n labels: {\r\n usePointStyle: false\r\n }\r\n },\r\n responsive: true,\r\n maintainAspectRatio: true,\r\n hover: {\r\n mode: 'index'\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: false,\r\n gridLines: false,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Month'\r\n }\r\n }],\r\n yAxes: [{\r\n display: false,\r\n gridLines: false,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Value'\r\n },\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n },\r\n\r\n elements: {\r\n point: {\r\n radius: 4,\r\n borderWidth: 12\r\n },\r\n },\r\n\r\n layout: {\r\n padding: {\r\n left: 0,\r\n right: 10,\r\n top: 5,\r\n bottom: 0\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.chart = new Chart(src, config);\r\n }\r\n\r\n /**\r\n * Returns the chart\r\n */\r\n getChart() {\r\n return this.chart;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n isDevMode,\r\n OnDestroy,\r\n OnInit,\r\n PLATFORM_ID\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';\r\nimport { animationFrame } from 'rxjs/internal/scheduler/animationFrame';\r\nimport { filter, map, share, startWith, takeUntil, throttleTime } from 'rxjs/operators';\r\n\r\n/**\r\n * Extended version of \"Sticky Directive for Angular 2+\"\r\n * https://github.com/w11k/angular-sticky-things\r\n */\r\n\r\nexport interface StickyPositions {\r\n offsetY: number;\r\n bottomBoundary: number | null;\r\n}\r\n\r\nexport interface StickyStatus {\r\n isSticky: boolean;\r\n reachedLowerEdge: boolean;\r\n marginTop: number;\r\n marginBottom: number;\r\n}\r\n\r\n@Directive({\r\n selector: '[ktSticky]'\r\n})\r\nexport class StickyDirective implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n filterGate = false;\r\n marginTop$ = new BehaviorSubject(0);\r\n marginBottom$ = new BehaviorSubject(0);\r\n enable$ = new BehaviorSubject(true);\r\n\r\n @Input() scrollContainer: string | HTMLElement;\r\n // tslint:disable-next-line\r\n @Input('spacerElement') spacerElement: HTMLElement | undefined;\r\n // tslint:disable-next-line\r\n @Input('boundaryElement') boundaryElement: HTMLElement | undefined;\r\n @HostBinding('class.is-sticky') sticky = false;\r\n @HostBinding('class.boundary-reached') boundaryReached = false;\r\n /**\r\n * The field represents some position values in normal (not sticky) mode.\r\n * If the browser size or the content of the page changes, this value must be recalculated.\r\n */\r\n private scroll$ = new Subject();\r\n private scrollThrottled$: Observable;\r\n private resize$ = new Subject();\r\n private resizeThrottled$: Observable;\r\n private extraordinaryChange$ = new BehaviorSubject(undefined);\r\n private status$: Observable;\r\n private componentDestroyed = new Subject();\r\n\r\n constructor(private stickyElement: ElementRef, @Inject(PLATFORM_ID) private platformId: string) {\r\n\r\n /** Throttle the scroll to animation frame (around 16.67ms) */\r\n this.scrollThrottled$ = this.scroll$\r\n .pipe(\r\n throttleTime(0, animationFrame),\r\n share()\r\n );\r\n\r\n /** Throttle the resize to animation frame (around 16.67ms) */\r\n this.resizeThrottled$ = this.resize$\r\n .pipe(\r\n throttleTime(0, animationFrame),\r\n // emit once since we are currently using combineLatest\r\n startWith(null),\r\n share()\r\n );\r\n\r\n this.status$ = combineLatest(\r\n this.enable$,\r\n this.scrollThrottled$,\r\n this.marginTop$,\r\n this.marginBottom$,\r\n this.extraordinaryChange$,\r\n this.resizeThrottled$,\r\n )\r\n .pipe(\r\n filter(([enabled]) => this.checkEnabled(enabled)),\r\n map(([enabled, pageYOffset, marginTop, marginBottom]) =>\r\n this.determineStatus(this.determineElementOffsets(), pageYOffset, marginTop, marginBottom, enabled)),\r\n share(),\r\n );\r\n }\r\n\r\n @Input() set marginTop(value: number) {\r\n this.marginTop$.next(value);\r\n }\r\n\r\n @Input() set marginBottom(value: number) {\r\n this.marginBottom$.next(value);\r\n }\r\n\r\n @Input() set enable(value: boolean) {\r\n this.enable$.next(value);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.status$\r\n .pipe(takeUntil(this.componentDestroyed))\r\n .subscribe((status) => this.setSticky(status));\r\n }\r\n\r\n public recalculate(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n // Make sure to be in the next tick by using timeout\r\n setTimeout(() => {\r\n this.extraordinaryChange$.next(undefined);\r\n }, 0);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * This is nasty code that should be refactored at some point.\r\n *\r\n * The Problem is, we filter for enabled. So that the code doesn't run\r\n * if @Input enabled = false. But if the user disables, we need exactly 1\r\n * emit in order to reset and call removeSticky. So this method basically\r\n * turns the filter in \"filter, but let the first pass\".\r\n */\r\n checkEnabled(enabled: boolean): boolean {\r\n\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return false;\r\n }\r\n\r\n if (enabled) {\r\n // reset the gate\r\n this.filterGate = false;\r\n return true;\r\n } else {\r\n if (this.filterGate) {\r\n // gate closed, first emit has happened\r\n return false;\r\n } else {\r\n // this is the first emit for enabled = false,\r\n // let it pass, and activate the gate\r\n // so the next wont pass.\r\n this.filterGate = true;\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:resize', [])\r\n onWindowResize(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.resize$.next();\r\n }\r\n }\r\n\r\n setupListener(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const target = this.getScrollTarget();\r\n target.addEventListener('scroll', this.listener);\r\n }\r\n }\r\n\r\n removeListener() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const target = this.getScrollTarget();\r\n target.removeEventListener('scroll', this.listener);\r\n }\r\n }\r\n\r\n listener = (e: Event) => {\r\n const upperScreenEdgeAt = (e.target as HTMLElement).scrollTop || window.pageYOffset;\r\n this.scroll$.next(upperScreenEdgeAt);\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.checkSetup();\r\n this.setupListener();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.componentDestroyed.next();\r\n this.removeListener();\r\n }\r\n\r\n getComputedStyle(el: HTMLElement): ClientRect | DOMRect {\r\n return el.getBoundingClientRect();\r\n }\r\n\r\n private getScrollTarget(): Element | Window {\r\n\r\n let target: Element | Window;\r\n\r\n if (this.scrollContainer && typeof this.scrollContainer === 'string') {\r\n target = document.querySelector(this.scrollContainer);\r\n } else if (this.scrollContainer && this.scrollContainer instanceof HTMLElement) {\r\n target = this.scrollContainer;\r\n } else {\r\n target = window;\r\n }\r\n return target;\r\n }\r\n\r\nprivate determineStatus(originalVals: StickyPositions,\r\n pageYOffset: number,\r\n marginTop: number,\r\n marginBottom: number,\r\n enabled: boolean): StickyStatus {\r\n const stickyElementHeight = this.getComputedStyle(this.stickyElement.nativeElement).height;\r\n const reachedLowerEdge = this.boundaryElement &&\r\n window.pageYOffset + stickyElementHeight + marginBottom >= (originalVals.bottomBoundary - marginTop);\r\n return {\r\n isSticky: enabled && pageYOffset > originalVals.offsetY,\r\n reachedLowerEdge,\r\n marginBottom,\r\n marginTop,\r\n };\r\n }\r\n\r\n\r\n /**\r\n * Gets the offset for element. If the element\r\n * currently is sticky, it will get removed\r\n * to access the original position. Other\r\n * wise this would just be 0 for fixed elements.\r\n */\r\n private determineElementOffsets(): StickyPositions {\r\n if (this.sticky) {\r\n this.removeSticky();\r\n }\r\n\r\n let bottomBoundary: number | null = null;\r\n\r\n if (this.boundaryElement) {\r\n const boundaryElementHeight = this.getComputedStyle(this.boundaryElement).height;\r\n const boundaryElementOffset = getPosition(this.boundaryElement).y;\r\n bottomBoundary = boundaryElementHeight + boundaryElementOffset;\r\n }\r\n\r\n return {offsetY: (getPosition(this.stickyElement.nativeElement).y - this.marginTop$.value), bottomBoundary};\r\n }\r\n\r\n private makeSticky(boundaryReached: boolean = false, marginTop: number, marginBottom: number): void {\r\n\r\n this.boundaryReached = boundaryReached;\r\n\r\n // do this before setting it to pos:fixed\r\n const {width, height, left} = this.getComputedStyle(this.stickyElement.nativeElement);\r\n const offSet = boundaryReached ?\r\n (this.getComputedStyle(this.boundaryElement).bottom - height - this.marginBottom$.value) : this.marginTop$.value;\r\n\r\n this.sticky = true;\r\n this.stickyElement.nativeElement.style.position = 'sticky';\r\n this.stickyElement.nativeElement.style.backgroundColor = '#fff';\r\n this.stickyElement.nativeElement.style.top = this.marginTop$.value + 'px';\r\n // this.stickyElement.nativeElement.style.left = left + 'px';\r\n this.stickyElement.nativeElement.style.width = `${width}px`;\r\n this.stickyElement.nativeElement.style.zIndex = `2`;\r\n if (this.spacerElement) {\r\n const spacerHeight = marginBottom + height + marginTop;\r\n this.spacerElement.style.height = `${spacerHeight}px`;\r\n }\r\n }\r\n\r\n private checkSetup() {\r\n if (isDevMode() && !this.spacerElement) {\r\n console.warn(`******There might be an issue with your sticky directive!******\r\n\r\nYou haven't specified a spacer element. This will cause the page to jump.\r\n\r\nBest practise is to provide a spacer element (e.g. a div) right before/after the sticky element.\r\nThen pass the spacer element as input:\r\n\r\n
\r\n\r\n
\r\n I am sticky!\r\n
`);\r\n }\r\n }\r\n\r\n\r\n private setSticky(status: StickyStatus): void {\r\n if (status.isSticky) {\r\n this.makeSticky(status.reachedLowerEdge, status.marginTop, status.marginBottom);\r\n } else {\r\n this.removeSticky();\r\n }\r\n }\r\n\r\n private removeSticky(): void {\r\n\r\n this.boundaryReached = false;\r\n this.sticky = false;\r\n\r\n this.stickyElement.nativeElement.style.position = '';\r\n this.stickyElement.nativeElement.style.width = 'auto';\r\n this.stickyElement.nativeElement.style.left = 'auto';\r\n this.stickyElement.nativeElement.style.top = 'auto';\r\n if (this.spacerElement) {\r\n this.spacerElement.style.height = '0';\r\n }\r\n }\r\n}\r\n\r\n// Thanks to https://stanko.github.io/javascript-get-element-offset/\r\nfunction getPosition(el) {\r\n let top = 0;\r\n let left = 0;\r\n let element = el;\r\n\r\n // Loop through the DOM tree\r\n // and add it's parent's offset to get page offset\r\n do {\r\n top += element.offsetTop || 0;\r\n left += element.offsetLeft || 0;\r\n element = element.offsetParent;\r\n } while (element);\r\n\r\n return {\r\n y: top,\r\n x: left,\r\n };\r\n}\r\n","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\n\r\n/**\r\n * Listen Tab click\r\n */\r\n@Directive({\r\n selector: '[ktTabClickEvent]'\r\n})\r\nexport class TabClickEventDirective {\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n * @param render: Renderer2\r\n */\r\n constructor(private el: ElementRef, private render: Renderer2) {\r\n }\r\n\r\n /**\r\n * A directive handler the tab click event for active tab\r\n * param target\r\n */\r\n @HostListener('click', ['$event.target'])\r\n onClick(target: HTMLElement) {\r\n // remove previous active tab\r\n const parent = target.closest('[role=\"tablist\"]');\r\n const activeLink = parent.querySelector('[role=\"tab\"].active');\r\n if (activeLink) {\r\n this.render.removeClass(activeLink, 'active');\r\n }\r\n // set active tab\r\n const link = target.closest('[role=\"tab\"]');\r\n if (link) {\r\n this.render.addClass(link, 'active');\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\nexport interface ToggleOptions {\r\n target?: string | any;\r\n targetState?: string;\r\n toggleState?: string;\r\n}\r\n\r\n/**\r\n * Toggle\r\n */\r\n@Directive({\r\n selector: '[ktToggle]',\r\n exportAs: 'ktToggle'\r\n})\r\nexport class ToggleDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: ToggleOptions;\r\n toggle: any;\r\n\r\n /**\r\n * Directive constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.toggle = new KTToggle(this.el.nativeElement, this.options);\r\n }\r\n}\r\n","// Directives\r\nexport { SparklineChartOptions, SparklineChartDirective } from './directives/sparkline-chart.directive';\r\nexport { OffcanvasDirective } from './directives/offcanvas.directive';\r\nexport { ScrollTopDirective } from './directives/scroll-top.directive';\r\nexport { TabClickEventDirective } from './directives/tab-click-event.directive';\r\nexport { ToggleDirective } from './directives/toggle.directive';\r\n\r\nexport { ContentAnimateDirective } from './directives/content-animate.directive';\r\nexport { HeaderDirective } from './directives/header.directive';\r\nexport { MenuDirective } from './directives/menu.directive';\r\nexport { StickyDirective } from './directives/sticky.directive';\r\n\r\n// Models\r\nexport { DataTableItemModel } from './models/datatable-item.model';\r\nexport { ExternalCodeExample } from './models/external-code-example';\r\nexport { OffcanvasOptions } from './directives/offcanvas.directive';\r\nexport { ScrollTopOptions } from './directives/scroll-top.directive';\r\nexport { ToggleOptions } from './directives/toggle.directive';\r\n\r\nexport { LayoutConfigModel } from './models/layout-config.model';\r\nexport { MenuOptions } from './directives/menu.directive';\r\n\r\n// Pipes\r\nexport { FirstLetterPipe } from './pipes/first-letter.pipe';\r\nexport { GetObjectPipe } from './pipes/get-object.pipe';\r\nexport { JoinPipe } from './pipes/join.pipe';\r\nexport { SafePipe } from './pipes/safe.pipe';\r\nexport { TimeElapsedPipe } from './pipes/time-elapsed.pipe';\r\n\r\n// Services\r\nexport { DataTableService } from './services/datatable.service';\r\nexport { TranslationService } from './services/translation.service';\r\n\r\nexport { LayoutConfigService } from './services/layout-config.service';\r\nexport { LayoutRefService } from './services/layout-ref.service';\r\nexport { MenuAsideService } from './services/menu-aside.service';\r\nexport { MenuConfigService } from './services/menu-config.service';\r\nexport { MenuHorizontalService } from './services/menu-horizontal.service';\r\nexport { PageConfigService } from './services/page-config.service';\r\nexport { SplashScreenService } from './services/splash-screen.service';\r\nexport { SubheaderService } from './services/subheader.service';\r\nexport { KtDialogService } from './services/kt-dialog.service';\r\n\r\n// Server\r\nexport { FakeApiService } from './server/fake-api/fake-api.service';\r\n","export class DataTableItemModel {\r\n id: number;\r\n cModel: string;\r\n cManufacture: string;\r\n cModelYear: number;\r\n cMileage: number;\r\n cDescription: string;\r\n cColor: string;\r\n cPrice: number;\r\n cCondition: number;\r\n cStatus: number;\r\n cVINCode: string;\r\n}\r\n","export class ExternalCodeExample {\r\n beforeCodeTitle: string;\r\n beforeCodeDescription: string;\r\n htmlCode: string;\r\n tsCode: string;\r\n cssCode: string;\r\n scssCode: string;\r\n viewCode: string;\r\n codeTitle: string;\r\n afterCodeTitle: string;\r\n afterCodeDescription: string;\r\n sourceLink: string;\r\n isCodeVisible = true;\r\n isExampleExpanded: boolean;\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Returns only first letter of string\r\n */\r\n@Pipe({\r\n name: 'firstLetter'\r\n})\r\nexport class FirstLetterPipe implements PipeTransform {\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: any\r\n * @param args: any\r\n */\r\n transform(value: any, args?: any): any {\r\n return value.split(' ').map(n => n[0]).join('');\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n\r\n/**\r\n * Returns object from parent object\r\n */\r\n@Pipe({\r\n name: 'getObject'\r\n})\r\nexport class GetObjectPipe implements PipeTransform {\r\n /**\r\n * Transform\r\n *\r\n * @param value: any\r\n * @param args: any\r\n */\r\n transform(value: any, args?: any): any {\r\n return objectPath.get(value, args);\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Returns string from Array\r\n */\r\n@Pipe({\r\n name: 'join'\r\n})\r\nexport class JoinPipe implements PipeTransform {\r\n /**\r\n * Transform\r\n *\r\n * @param value: any\r\n * @param args: any\r\n */\r\n transform(value: any, args?: any): any {\r\n if (Array.isArray(value)) {\r\n return value.join(' ');\r\n }\r\n return value;\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n/**\r\n * Sanitize HTML\r\n */\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n /**\r\n * Pipe Constructor\r\n *\r\n * @param _sanitizer: DomSanitezer\r\n */\r\n // tslint:disable-next-line\r\n constructor(protected _sanitizer: DomSanitizer) {\r\n }\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: string\r\n * @param type: string\r\n */\r\n transform(value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style':\r\n return this._sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script':\r\n return this._sanitizer.bypassSecurityTrustScript(value);\r\n case 'url':\r\n return this._sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl':\r\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default:\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform, OnDestroy, ChangeDetectorRef, NgZone } from '@angular/core';\r\n\r\n/**\r\n * https://github.com/AndrewPoyntz/time-ago-pipe\r\n * An Angular pipe for converting a date string into a time ago\r\n */\r\n@Pipe({\r\n name: 'kTimeElapsed'\r\n})\r\nexport class TimeElapsedPipe implements PipeTransform, OnDestroy {\r\n // Private properties\r\n private timer: number;\r\n\r\n /**\r\n * Pipe Constructor\r\n *\r\n * @param changeDetectorRef: ChangeDetectorRef\r\n * @param ngZone: NgZone\r\n */\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private ngZone: NgZone\r\n ) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.removeTimer();\r\n }\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: string\r\n */\r\n transform(value: string) {\r\n this.removeTimer();\r\n const d = new Date(value);\r\n const now = new Date();\r\n const seconds = Math.round(\r\n Math.abs((now.getTime() - d.getTime()) / 1000)\r\n );\r\n const timeToUpdate = this.getSecondsUntilUpdate(seconds) * 1000;\r\n this.timer = this.ngZone.runOutsideAngular(() => {\r\n if (typeof window !== 'undefined') {\r\n return window.setTimeout(() => {\r\n this.ngZone.run(() =>\r\n this.changeDetectorRef.markForCheck()\r\n );\r\n }, timeToUpdate);\r\n }\r\n return null;\r\n });\r\n const minutes = Math.round(Math.abs(seconds / 60));\r\n const hours = Math.round(Math.abs(minutes / 60));\r\n const days = Math.round(Math.abs(hours / 24));\r\n const months = Math.round(Math.abs(days / 30.416));\r\n const years = Math.round(Math.abs(days / 365));\r\n if (seconds <= 45) {\r\n return 'just now';\r\n } else if (seconds <= 90) {\r\n return '1 min';\r\n } else if (minutes <= 45) {\r\n return minutes + ' mins';\r\n } else if (minutes <= 90) {\r\n return '1 hr';\r\n } else if (hours <= 22) {\r\n return hours + ' hrs';\r\n } else if (hours <= 36) {\r\n return '1 day';\r\n } else if (days <= 25) {\r\n return days + ' days';\r\n } else if (days <= 45) {\r\n return '1 month';\r\n } else if (days <= 345) {\r\n return months + ' months';\r\n } else if (days <= 545) {\r\n return '1 year';\r\n } else {\r\n // (days > 545)\r\n return years + ' years';\r\n }\r\n }\r\n\r\n /**\r\n * Remove timer\r\n */\r\n private removeTimer() {\r\n if (this.timer) {\r\n window.clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n /**\r\n * Returns Seconds Until Update\r\n * @param seconds: number\r\n */\r\n private getSecondsUntilUpdate(seconds: number) {\r\n const min = 60;\r\n const hr = min * 60;\r\n const day = hr * 24;\r\n if (seconds < min) {\r\n // less than 1 min, update ever 2 secs\r\n return 2;\r\n } else if (seconds < hr) {\r\n // less than an hour, update every 30 secs\r\n return 30;\r\n } else if (seconds < day) {\r\n // less then a day, update every 5 minutes\r\n return 300;\r\n } else {\r\n // update every hour\r\n return 3600;\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// Angular in memory\r\nimport { InMemoryDbService } from \"angular-in-memory-web-api\";\r\n// RxJS\r\nimport { Observable } from \"rxjs\";\r\n// Auth\r\nimport { AuthDataContext } from \"../../../../auth\";\r\n// ECommerce\r\n// import { ECommerceDataContext } from '../../../../e-commerce';\r\n// Models\r\nimport { CarsDb } from \"./fake-db/cars\";\r\n\r\n@Injectable()\r\nexport class FakeApiService {\r\n /**\r\n * Service Constructors\r\n */\r\n constructor() {}\r\n\r\n /**\r\n * Create Fake DB and API\r\n */\r\n createDb(): {} | Observable<{}> {\r\n // tslint:disable-next-line:class-name\r\n const db = {\r\n // auth module\r\n // users: AuthDataContext.users,\r\n roles: AuthDataContext.roles,\r\n permissions: AuthDataContext.permissions,\r\n\r\n // e-commerce\r\n // customers\r\n // customers: ECommerceDataContext.customers,\r\n // // products\r\n // products: ECommerceDataContext.cars,\r\n // productRemarks: ECommerceDataContext.remarks,\r\n // productSpecs: ECommerceDataContext.carSpecs,\r\n\r\n // // orders\r\n // orders: ECommerceDataContext.orders,\r\n\r\n // data-table\r\n cars: CarsDb.cars,\r\n };\r\n return db;\r\n }\r\n}\r\n","export class CarsDb {\r\n public static cars: any = [\r\n {\r\n id: 1,\r\n cModel: 'Elise',\r\n cManufacture: 'Lotus',\r\n cModelYear: 2004,\r\n cMileage: 116879,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Lotus Elise first appeared in 1996 and revolutionised small sports car design with its lightweight extruded aluminium chassis and composite body. There have been many variations, but the basic principle remain the same.`,\r\n cColor: 'Red',\r\n cPrice: 18347,\r\n cCondition: 1,\r\n createdDate: '09/30/2017',\r\n cStatus: 0,\r\n cVINCode: '1FTWX3D52AE575540',\r\n }, {\r\n id: 2,\r\n cModel: 'Sunbird',\r\n cManufacture: 'Pontiac',\r\n cModelYear: 1984,\r\n cMileage: 99515,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Pontiac Sunbird is an automobile that was produced by Pontiac, initially as a subcompact for the 1976 to 1980 cModel years,and later as a compact for the 1982 to 1994 cModel years. The Sunbird badge ran for 18 years (with a hiatus during the 1981 and 1982 cModel years, as the 1982 cModel was called J2000) and was then replaced in 1995 by the Pontiac Sunfire. Through the years the Sunbird was available in notchback coupé, sedan, hatchback, station wagon, and convertible body styles.`,\r\n cColor: 'Khaki',\r\n cPrice: 165956,\r\n cCondition: 0,\r\n createdDate: '03/22/2018',\r\n cStatus: 1,\r\n cVINCode: 'JM1NC2EF8A0293556'\r\n }, {\r\n id: 3,\r\n cModel: 'Amigo',\r\n cManufacture: 'Isuzu',\r\n cModelYear: 1993,\r\n cMileage: 138027,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Isuzu MU is a mid-size SUV that was produced by the Japan-based cManufacturer Isuzu. The three-door MU was introduced in 1989, followed in 1990 by the five-door version called Isuzu MU Wizard, both of which stopped production in 1998 to be replaced by a second generation. This time, the five-door version dropped the \"MU\" prefix, to become the Isuzu Wizard. The acronym \"MU\" is short for \"Mysterious Utility\". Isuzu cManufactured several variations to the MU and its derivates for sale in other countries.`,\r\n cColor: 'Aquamarine',\r\n cPrice: 45684,\r\n cCondition: 0,\r\n createdDate: '03/06/2018',\r\n cStatus: 0,\r\n cVINCode: '1G6DG8E56C0973889'\r\n }, {\r\n id: 4,\r\n cModel: 'LS',\r\n cManufacture: 'Lexus',\r\n cModelYear: 2004,\r\n cMileage: 183068,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Lexus LS (Japanese: レクサス・LS, Rekusasu LS) is a full-size luxury car (F-segment in Europe) serving as the flagship cModel of Lexus, the luxury division of Toyota. For the first four generations, all LS cModels featured V8 engines and were predominantly rear-wheel-drive, with Lexus also offering all-wheel-drive, hybrid, and long-wheelbase variants. The fifth generation changed to using a V6 engine with no V8 option, and the long wheelbase variant was removed entirely.`,\r\n cColor: 'Mauv',\r\n cPrice: 95410,\r\n cCondition: 1,\r\n createdDate: '02/03/2018',\r\n cStatus: 1,\r\n cVINCode: '2T1BU4EE6DC859114'\r\n }, {\r\n id: 5,\r\n cModel: 'Paseo',\r\n cManufacture: 'Toyota',\r\n cModelYear: 1997,\r\n cMileage: 74884,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Toyota Paseo (known as the Cynos in Japan and other regions) is a sports styled compact car sold from 1991–1999 and was loosely based on the Tercel. It was available as a coupe and in later cModels as a convertible. Toyota stopped selling the car in the United States in 1997, however the car continued to be sold in Canada, Europe and Japan until 1999, but had no direct replacement. The Paseo, like the Tercel, shares a platform with the Starlet. Several parts are interchangeable between the three`,\r\n cColor: 'Pink',\r\n cPrice: 24796,\r\n cCondition: 1,\r\n createdDate: '08/13/2017',\r\n cStatus: 0,\r\n cVINCode: '1D7RB1GP0AS597432'\r\n }, {\r\n id: 6,\r\n cModel: 'M',\r\n cManufacture: 'Infiniti',\r\n cModelYear: 2009,\r\n cMileage: 194846,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Infiniti M is a line of mid-size luxury (executive) cars from the Infiniti luxury division of Nissan.\\r\\nThe first iteration was the M30 Coupe/Convertible, which were rebadged JDM Nissan Leopard.\\r\\nAfter a long hiatus, the M nameplate was used for Infiniti's mid-luxury sedans (executive cars). First was the short-lived M45 sedan, a rebadged version of the Japanese-spec Nissan Gloria. The next generations, the M35/45 and M37/56/35h/30d, became the flagship of the Infiniti brand and are based on the JDM Nissan Fuga.`,\r\n cColor: 'Puce',\r\n cPrice: 30521,\r\n cCondition: 1,\r\n createdDate: '01/27/2018',\r\n cStatus: 0,\r\n cVINCode: 'YV1940AS1D1542424'\r\n }, {\r\n id: 7,\r\n cModel: 'Phantom',\r\n cManufacture: 'Rolls-Royce',\r\n cModelYear: 2008,\r\n cMileage: 164124,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Rolls-Royce Phantom VIII is a luxury saloon car cManufactured by Rolls-Royce Motor Cars. It is the eighth and current generation of Rolls-Royce Phantom, and the second launched by Rolls-Royce under BMW ownership. It is offered in two wheelbase lengths`,\r\n cColor: 'Purple',\r\n cPrice: 196247,\r\n cCondition: 1,\r\n createdDate: '09/28/2017',\r\n cStatus: 1,\r\n cVINCode: '3VWML7AJ1DM234625'\r\n }, {\r\n id: 8,\r\n cModel: 'QX',\r\n cManufacture: 'Infiniti',\r\n cModelYear: 2002,\r\n cMileage: 57410,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Infiniti QX80 (called the Infiniti QX56 until 2013) is a full-size luxury SUV built by Nissan Motor Company's Infiniti division. The naming convention originally adhered to the current trend of using a numeric designation derived from the engine's displacement, thus QX56 since the car has a 5.6-liter engine. From the 2014 cModel year, the car was renamed the QX80, as part of Infiniti's cModel name rebranding. The new name carries no meaning beyond suggesting that the vehicle is larger than smaller cModels such as the QX60`,\r\n cColor: 'Green',\r\n cPrice: 185775,\r\n cCondition: 1,\r\n createdDate: '11/15/2017',\r\n cStatus: 0,\r\n cVINCode: 'WDDHF2EB9CA161524'\r\n }, {\r\n id: 9,\r\n cModel: 'Daytona',\r\n cManufacture: 'Dodge',\r\n cModelYear: 1993,\r\n cMileage: 4444,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Dodge Daytona was an automobile which was produced by the Chrysler Corporation under their Dodge division from 1984 to 1993. It was a front-wheel drive hatchback based on the Chrysler G platform, which was derived from the Chrysler K platform. The Chrysler Laser was an upscale rebadged version of the Daytona. The Daytona was restyled for 1987, and again for 1992. It replaced the Mitsubishi Galant-based Challenger, and slotted between the Charger and the Conquest. The Daytona was replaced by the 1995 Dodge Avenger, which was built by Mitsubishi Motors. The Daytona derives its name mainly from the Dodge Charger Daytona, which itself was named after the Daytona 500 race in Daytona Beach, Florida.`,\r\n cColor: 'Maroon',\r\n cPrice: 171898,\r\n cCondition: 0,\r\n createdDate: '12/24/2017',\r\n cStatus: 1,\r\n cVINCode: 'WBAET37422N752051'\r\n }, {\r\n id: 10,\r\n cModel: '1500 Silverado',\r\n cManufacture: 'Chevrolet',\r\n cModelYear: 1999,\r\n cMileage: 195310,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Chevrolet Silverado, and its mechanically identical cousin, the GMC Sierra, are a series of full-size and heavy-duty pickup trucks cManufactured by General Motors and introduced in 1998 as the successor to the long-running Chevrolet C/K line. The Silverado name was taken from a trim level previously used on its predecessor, the Chevrolet C/K pickup truck from 1975 through 1998. General Motors continues to offer a GMC-badged variant of the Chevrolet full-size pickup under the GMC Sierra name, first used in 1987 for its variant of the GMT400 platform trucks.`,\r\n cColor: 'Blue',\r\n cPrice: 25764,\r\n cCondition: 0,\r\n createdDate: '08/30/2017',\r\n cStatus: 1,\r\n cVINCode: '1N6AF0LX6EN590806'\r\n }, {\r\n id: 11,\r\n cModel: 'CTS',\r\n cManufacture: 'Cadillac',\r\n cModelYear: 2012,\r\n cMileage: 170862,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Cadillac CTS is a mid-size luxury car / executive car designed, engineered, cManufactured and marketed by General Motors, and now in its third generation. \\r\\nInitially available only as a 4-door sedan on the GM Sigma platform, GM had offered the second generation CTS in three body styles: 4-door sedan, 2-door coupe, and 5-door sport wagon also using the Sigma platform — and the third generation in coupe and sedan configurations, using a stretched version of the GM Alpha platform.\\r\\nWayne Cherry and Kip Wasenko designed the exterior of the first generation CTS, marking the production debut of a design language (marketed as \"Art and Science\") first seen on the Evoq concept car. Bob Boniface and Robin Krieg designed the exterior of the third generation CTS`,\r\n cColor: 'Crimson',\r\n cPrice: 80588,\r\n cCondition: 0,\r\n createdDate: '02/15/2018',\r\n cStatus: 0,\r\n cVINCode: '1G4HR54KX4U506530'\r\n }, {\r\n id: 12,\r\n cModel: 'Astro',\r\n cManufacture: 'Chevrolet',\r\n cModelYear: 1995,\r\n cMileage: 142137,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Chevrolet Astro was a rear-wheel drive van/minivan cManufactured and marketed by the American automaker Chevrolet from 1985 to 2005 and over two build generations. Along with its rebadged variant, the GMC Safari, the Astro was marketed in passenger as well as cargo and livery configurations—featuring a V6 engine, unibody construction with a separate front engine/suspension sub-frame, leaf-spring rear suspension, rear bi-parting doors, and a seating capacity of up to eight passengers`,\r\n cColor: 'Teal',\r\n cPrice: 72430,\r\n cCondition: 1,\r\n createdDate: '07/31/2017',\r\n cStatus: 0,\r\n cVINCode: 'KMHGH4JH2DU676107'\r\n }, {\r\n id: 13,\r\n cModel: 'XL7',\r\n cManufacture: 'Suzuki',\r\n cModelYear: 2009,\r\n cMileage: 165165,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Suzuki XL-7 (styled as XL7 for the second generation) is Suzuki's mid-sized SUV that was made from 1998 to 2009, over two generations. It was slotted above the Grand Vitara in Suzuki's lineup.`,\r\n cColor: 'Puce',\r\n cPrice: 118667,\r\n cCondition: 0,\r\n createdDate: '02/04/2018',\r\n cStatus: 0,\r\n cVINCode: '1N6AF0LX9EN733005'\r\n }, {\r\n id: 14,\r\n cModel: 'SJ 410',\r\n cManufacture: 'Suzuki',\r\n cModelYear: 1984,\r\n cMileage: 176074,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The SJ-Series was introduced to the United States (Puerto Rico (SJ-410) and Canada earlier) in 1985 for the 1986 cModel year. It was cPriced at $6200 and 47,000 were sold in its first year. The Samurai had a 1.3 liter, 63 hp (47 kW), 4-cylinder engine and was available as a convertible or a hardtop, and with or without a rear seat. The Suzuki Samurai became intensely popular within the serious 4WD community for its good off-road performance and reliability compared to other 4WDs of the time. This is due to the fact that while very compact and light, it is a real 4WD vehicle equipped with a transfer case, switchable 4WD and low range. Its lightness makes it a very nimble off-roader less prone to sinking in softer ground than heavier types. It is also considered a great beginner off-roader due to its simple design and ease of engine and suspension modifications.`,\r\n cColor: 'Orange',\r\n cPrice: 84325,\r\n cCondition: 0,\r\n createdDate: '12/22/2017',\r\n cStatus: 0,\r\n cVINCode: '2C3CDYBT6DH183756'\r\n }, {\r\n id: 15,\r\n cModel: 'F-Series',\r\n cManufacture: 'Ford',\r\n cModelYear: 1995,\r\n cMileage: 53030,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Ford F-Series is a series of light-duty trucks and medium-duty trucks (Class 2-7) that have been marketed and cManufactured by Ford Motor Company since 1948. While most variants of the F-Series trucks are full-size pickup trucks, the F-Series also includes chassis cab trucks and commercial vehicles. The Ford F-Series has been the best-selling vehicle in the United States since 1986 and the best-selling pickup since 1977.[1][2] It is also the best selling vehicle in Canada.[3] As of the 2018 cModel year, the F-Series generates $41.0 billion in annual revenue for Ford, making the F-Series brand more valuable than Coca-Cola and Nike.`,\r\n cColor: 'Aquamarine',\r\n cPrice: 77108,\r\n cCondition: 0,\r\n createdDate: '01/09/2018',\r\n cStatus: 0,\r\n cVINCode: 'WBAVB33526P873481'\r\n }, {\r\n id: 16,\r\n cModel: 'HS',\r\n cManufacture: 'Lexus',\r\n cModelYear: 2011,\r\n cMileage: 84718,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Lexus HS (Japanese: レクサス・HS, Rekusasu HS) is a dedicated hybrid vehicle introduced by Lexus as a new entry-level luxury compact sedan in 2009.[2] Built on the Toyota New MC platform,[3] it is classified as a compact under Japanese regulations concerning vehicle exterior dimensions and engine displacement. Unveiled at the North American International Auto Show in January 2009, the HS 250h went on sale in July 2009 in Japan, followed by the United States in August 2009 as a 2010 cModel. The HS 250h represented the first dedicated hybrid vehicle in the Lexus lineup, as well as the first offered with an inline-four gasoline engine.[4] Bioplastic materials are used for the vehicle interior.[5] With a total length of 184.8 inches, the Lexus HS is slightly larger than the Lexus IS, but still smaller than the mid-size Lexus ES.`,\r\n cColor: 'Purple',\r\n cPrice: 140170,\r\n cCondition: 0,\r\n createdDate: '11/14/2017',\r\n cStatus: 1,\r\n cVINCode: '1FTWF3A56AE545514'\r\n }, {\r\n id: 17,\r\n cModel: 'Land Cruiser',\r\n cManufacture: 'Toyota',\r\n cModelYear: 2008,\r\n cMileage: 157019,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `Production of the first generation Land Cruiser began in 1951 (90 units) as Toyota's version of a Jeep-like vehicle.[2][3] The Land Cruiser has been produced in convertible, hardtop, station wagon and cab chassis versions. The Land Cruiser's reliability and longevity has led to huge popularity, especially in Australia where it is the best-selling body-on-frame, four-wheel drive vehicle.[4] Toyota also extensively tests the Land Cruiser in the Australian outback – considered to be one of the toughest operating environments in both temperature and terrain. In Japan, the Land Cruiser is exclusive to Toyota Japanese dealerships called Toyota Store.`,\r\n cColor: 'Crimson',\r\n cPrice: 72638,\r\n cCondition: 1,\r\n createdDate: '08/08/2017',\r\n cStatus: 1,\r\n cVINCode: '3C3CFFDR2FT957799'\r\n }, {\r\n id: 18,\r\n cModel: 'Wrangler',\r\n cManufacture: 'Jeep',\r\n cModelYear: 1994,\r\n cMileage: 55857,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Jeep Wrangler is a series of compact and mid-size (Wrangler Unlimited and Wrangler 4-door JL) four-wheel drive off-road vehicle cModels, cManufactured by Jeep since 1986, and currently migrating from its third into its fourth generation. The Wrangler JL was unveiled in late 2017 and will be produced at Jeep's Toledo Complex.`,\r\n cColor: 'Red',\r\n cPrice: 193523,\r\n cCondition: 0,\r\n createdDate: '02/28/2018',\r\n cStatus: 1,\r\n cVINCode: '3C4PDCAB7FT652291'\r\n }, {\r\n id: 19,\r\n cModel: 'Sunbird',\r\n cManufacture: 'Pontiac',\r\n cModelYear: 1994,\r\n cMileage: 165202,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Pontiac Sunbird is an automobile that was produced by Pontiac, initially as a subcompact for the 1976 to 1980 cModel years, and later as a compact for the 1982 to 1994 cModel years. The Sunbird badge ran for 18 years (with a hiatus during the 1981 and 1982 cModel years, as the 1982 cModel was called J2000) and was then replaced in 1995 by the Pontiac Sunfire. Through the years the Sunbird was available in notchback coupé, sedan, hatchback, station wagon, and convertible body styles.`,\r\n cColor: 'Blue',\r\n cPrice: 198739,\r\n cCondition: 0,\r\n createdDate: '05/13/2017',\r\n cStatus: 1,\r\n cVINCode: '1GD22XEG9FZ103872'\r\n }, {\r\n id: 20,\r\n cModel: 'A4',\r\n cManufacture: 'Audi',\r\n cModelYear: 1998,\r\n cMileage: 117958,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The A4 has been built in five generations and is based on the Volkswagen Group B platform. The first generation A4 succeeded the Audi 80. The automaker's internal numbering treats the A4 as a continuation of the Audi 80 lineage, with the initial A4 designated as the B5-series, followed by the B6, B7, B8 and the B9. The B8 and B9 versions of the A4 are built on the Volkswagen Group MLB platform shared with many other Audi cModels and potentially one Porsche cModel within Volkswagen Group`,\r\n cColor: 'Yellow',\r\n cPrice: 159377,\r\n cCondition: 0,\r\n createdDate: '12/15/2017',\r\n cStatus: 1,\r\n cVINCode: '2C3CDXCT2FH350366'\r\n }, {\r\n id: 21,\r\n cModel: 'Camry Solara',\r\n cManufacture: 'Toyota',\r\n cModelYear: 2006,\r\n cMileage: 22436,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Toyota Camry Solara, popularly known as the Toyota Solara, is a mid-size coupe/convertible built by Toyota. The Camry Solara is mechanically based on the Toyota Camry and effectively replaced the discontinued Camry Coupe (XV10); however, in contrast with its predecessor's conservative design, the Camry Solara was designed with a greater emphasis on sportiness, with more rakish styling, and uprated suspension and engine tuning intended to provide a sportier feel.[5] The coupe was launched in late 1998 as a 1999 cModel.[1] In 2000, the convertible was introduced, effectively replacing the Celica convertible in Toyota's North American lineup`,\r\n cColor: 'Green',\r\n cPrice: 122562,\r\n cCondition: 0,\r\n createdDate: '07/11/2017',\r\n cStatus: 0,\r\n cVINCode: '3C3CFFHH6DT874066'\r\n }, {\r\n id: 22,\r\n cModel: 'Tribeca',\r\n cManufacture: 'Subaru',\r\n cModelYear: 2007,\r\n cMileage: 127958,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Subaru Tribeca is a mid-size crossover SUV made from 2005 to 2014. Released in some markets, including Canada, as the Subaru B9 Tribeca, the name \"Tribeca\" derives from the Tribeca neighborhood of New York City.[1] Built on the Subaru Legacy platform and sold in five- and seven-seat configurations, the Tribeca was intended to be sold alongside a slightly revised version known as the Saab 9-6. Saab, at the time a subsidiary of General Motors (GM), abandoned the 9-6 program just prior to its release subsequent to GM's 2005 divestiture of its 20 percent stake in FHI.`,\r\n cColor: 'Yellow',\r\n cPrice: 90221,\r\n cCondition: 1,\r\n createdDate: '11/12/2017',\r\n cStatus: 0,\r\n cVINCode: 'WVWGU7AN9AE957575'\r\n }, {\r\n id: 23,\r\n cModel: '1500 Club Coupe',\r\n cManufacture: 'GMC',\r\n cModelYear: 1997,\r\n cMileage: 95783,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `GMC (General Motors Truck Company), formally the GMC Division of General Motors LLC, is a division of the American automobile cManufacturer General Motors (GM) that primarily focuses on trucks and utility vehicles. GMC sells pickup and commercial trucks, buses, vans, military vehicles, and sport utility vehicles marketed worldwide by General Motors.`,\r\n cColor: 'Teal',\r\n cPrice: 64376,\r\n cCondition: 1,\r\n createdDate: '06/28/2017',\r\n cStatus: 0,\r\n cVINCode: 'SCFBF04BX7G920997'\r\n }, {\r\n id: 24,\r\n cModel: 'Firebird',\r\n cManufacture: 'Pontiac',\r\n cModelYear: 2002,\r\n cMileage: 74063,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Pontiac Firebird is an American automobile built by Pontiac from the 1967 to the 2002 cModel years. Designed as a pony car to compete with the Ford Mustang, it was introduced 23 February 1967, the same cModel year as GM's Chevrolet division platform-sharing Camaro.[1] This also coincided with the release of the 1967 Mercury Cougar, Ford's upscale, platform-sharing version of the Mustang. The name \"Firebird\" was also previously used by GM for the General Motors Firebird 1950s and early-1960s`,\r\n cColor: 'Puce',\r\n cPrice: 94178,\r\n cCondition: 1,\r\n createdDate: '09/13/2017',\r\n cStatus: 0,\r\n cVINCode: '3C63D2JL5CG563879'\r\n }, {\r\n id: 25,\r\n cModel: 'RAV4',\r\n cManufacture: 'Toyota',\r\n cModelYear: 1996,\r\n cMileage: 99461,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Toyota RAV4 (Japanese: トヨタ RAV4 Toyota Ravufō) is a compact crossover SUV (sport utility vehicle) produced by the Japanese automobile cManufacturer Toyota. This was the first compact crossover SUV;[1] it made its debut in Japan and Europe in 1994,[2] and in North America in 1995. The vehicle was designed for consumers wanting a vehicle that had most of the benefits of SUVs, such as increased cargo room, higher visibility, and the option of full-time four-wheel drive, along with the maneuverability and fuel economy of a compact car. Although not all RAV4s are four-wheel-drive, RAV4 stands for \"Recreational Activity Vehicle: 4-wheel drive\", because the aforementioned equipment is an option in select countries`,\r\n cColor: 'Goldenrod',\r\n cPrice: 48342,\r\n cCondition: 0,\r\n createdDate: '12/29/2017',\r\n cStatus: 0,\r\n cVINCode: '2C4RDGDG6DR836144'\r\n }, {\r\n id: 26,\r\n cModel: 'Amanti / Opirus',\r\n cManufacture: 'Kia',\r\n cModelYear: 2007,\r\n cMileage: 189651,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Kia Opirus was an executive car cManufactured and marketed by Kia Motors that was launched in April 2003 and was marketed globally under various nameplates, prominently as the Amanti. It was considered to be Kia's flagship vehicle.`,\r\n cColor: 'Indigo',\r\n cPrice: 44292,\r\n cCondition: 1,\r\n createdDate: '09/01/2017',\r\n cStatus: 1,\r\n cVINCode: '1C4SDHCT2CC055294'\r\n }, {\r\n id: 27,\r\n cModel: 'S60',\r\n cManufacture: 'Volvo',\r\n cModelYear: 2001,\r\n cMileage: 78963,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `First introduced in 2004, Volvo's S60 R used a Haldex all-wheel-drive system mated to a 300 PS (221 kW; 296 hp) / 400 N⋅m (300 lbf⋅ft) inline-5. The 2004–2005 cModels came with a 6-speed manual transmission, or an available 5-speed automatic which allowed only 258 lb⋅ft (350 N⋅m) torque in 1st and 2nd gears. The 2006–2007 cModels came with a 6-speed manual or 6-speed automatic transmission (which was no longer torque-restricted)`,\r\n cColor: 'Goldenrod',\r\n cPrice: 9440,\r\n cCondition: 0,\r\n createdDate: '11/06/2017',\r\n cStatus: 0,\r\n cVINCode: '3C6TD5CT5CG316067',\r\n }, {\r\n id: 28,\r\n cModel: 'Grand Marquis',\r\n cManufacture: 'Mercury',\r\n cModelYear: 1984,\r\n cMileage: 153027,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Mercury Grand Marquis is an automobile that was sold by the Mercury division of Ford Motor Company from 1975 to 2011. From 1975 to 1982, it was the premium cModel of the Mercury Marquis cModel line, becoming a standalone cModel line in 1983. For its entire production run, the Grand Marquis served as the flagship of the Mercury line, with the Ford (LTD) Crown Victoria serving as its Ford counterpart. In addition, from 1979 to 2011, the Grand Marquis shared the rear-wheel drive Panther platform alongside the Lincoln Town Car`,\r\n cColor: 'Goldenrod',\r\n cPrice: 76027,\r\n cCondition: 0,\r\n createdDate: '12/16/2017',\r\n cStatus: 1,\r\n cVINCode: '3C3CFFJH2DT871398'\r\n }, {\r\n id: 29,\r\n cModel: 'Talon',\r\n cManufacture: 'Eagle',\r\n cModelYear: 1991,\r\n cMileage: 111234,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `Cosmetically, differences between the three were found in wheels, availability of cColors, tail lights, front and rear bumpers, and spoilers. The Talon featured two-tone body cColor with a black 'greenhouse' (roof, pillars, door-mounted mirrors) regardless of the body cColor. The variants featured 5-speed manual or 4-speed automatic transmissions and a hood bulge on the left-hand side of the car in order for camshaft clearance on the 4G63 engine. The base cModel DL did not use this engine but still had a bulge as evident in the 1992 Talon brochure. 2nd Generation cars all had such a bulge, even with the inclusion of the 420A engine`,\r\n cColor: 'Teal',\r\n cPrice: 157216,\r\n cCondition: 0,\r\n createdDate: '05/08/2017',\r\n cStatus: 1,\r\n cVINCode: 'YV1902FH1D2957659'\r\n }, {\r\n id: 30,\r\n cModel: 'Passport',\r\n cManufacture: 'Honda',\r\n cModelYear: 2002,\r\n cMileage: 3812,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Passport was a part of a partnership between Isuzu and Honda in the 1990s, which saw an exchange of passenger vehicles from Honda to Isuzu, such as the Isuzu Oasis, and trucks from Isuzu to Honda, such as the Passport and Acura SLX. This arrangement was convenient for both companies, as Isuzu discontinued passenger car production in 1993 after a corporate restructuring, and Honda was in desperate need a SUV, a segment that was growing in popularity in North America as well as Japan during the 1990s. The partnership ended in 2002 with the discontinuation of the Passport in favor of the Honda-engineered Pilot`,\r\n cColor: 'Puce',\r\n cPrice: 41299,\r\n cCondition: 1,\r\n createdDate: '03/08/2018',\r\n cStatus: 0,\r\n cVINCode: 'WVWEU9AN4AE524071'\r\n }, {\r\n id: 31,\r\n cModel: 'H3',\r\n cManufacture: 'Hummer',\r\n cModelYear: 2006,\r\n cMileage: 196321,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Hummer H3 is a sport utility vehicle/off-road vehicle from Hummer that was produced from 2005 to 2010. Introduced for the 2006 cModel year, it was based on a highly modified GMT355 underpinning the Chevrolet cColorado/GMC Canyon compact pickup trucks that were also built at GM's Shreveport Operations in Shreveport, Louisiana and the Port Elizabeth plant in South Africa. The H3 was actually the smallest among the Hummer cModels. It was available either as a traditional midsize SUV or as a midsize pickup known as the H3T`,\r\n cColor: 'Pink',\r\n cPrice: 186964,\r\n cCondition: 1,\r\n createdDate: '06/04/2017',\r\n cStatus: 1,\r\n cVINCode: '4T1BF1FK4FU746230',\r\n }, {\r\n id: 32,\r\n cModel: 'Comanche',\r\n cManufacture: 'Jeep',\r\n cModelYear: 1992,\r\n cMileage: 72285,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Jeep Comanche (designated MJ) is a pickup truck variant of the Cherokee compact SUV (1984–2001)[3] cManufactured and marketed by Jeep for cModel years 1986-1992 in rear wheel (RWD) and four-wheel drive (4WD) cModels as well as two cargo bed lengths: six-feet (1.83 metres) and seven-feet (2.13 metres)`,\r\n cColor: 'Mauv',\r\n cPrice: 145971,\r\n cCondition: 1,\r\n createdDate: '09/01/2017',\r\n cStatus: 0,\r\n cVINCode: '1J4PN2GK1BW745045'\r\n }, {\r\n id: 33,\r\n cModel: 'Blazer',\r\n cManufacture: 'Chevrolet',\r\n cModelYear: 1993,\r\n cMileage: 189804,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The 2014 – 2nd generation, MY14 Duramax 2.8L diesel engines have several new parts, namely a new water-cooled variable-geometry turbocharger, a new high-pressure common-rail fuel delivery system, a new exhaust gas recirculation (EGR) system, a new intake manifold, a new cylinder head, a new cylinder block, a new balance shaft unit and a new Engine Control Module (ECM). and now produce 197 hp and 369 Ft/Lbs of torque`,\r\n cColor: 'Indigo',\r\n cPrice: 154594,\r\n cCondition: 0,\r\n createdDate: '09/13/2017',\r\n cStatus: 0,\r\n cVINCode: '1G6KD57Y43U482896'\r\n }, {\r\n id: 34,\r\n cModel: 'Envoy XUV',\r\n cManufacture: 'GMC',\r\n cModelYear: 2004,\r\n cMileage: 187960,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The GMC Envoy is a mid-size SUV that was produced by General Motors. It was introduced for the 1998 cModel year. After the first generation Envoy was discontinued after the 2000 cModel year, but the Envoy was reintroduced and redesigned for the 2002 cModel year, and it was available in the GMC line of vehicles from the 2002 to 2009 cModel years`,\r\n cColor: 'Turquoise',\r\n cPrice: 185103,\r\n cCondition: 1,\r\n createdDate: '12/07/2017',\r\n cStatus: 0,\r\n cVINCode: '5GAER23D09J658030'\r\n }\r\n ];\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// Models\r\nimport { DataTableItemModel } from '../models/datatable-item.model';\r\n\r\nconst API_DATATABLE_URL = 'api/cars';\r\n\r\n@Injectable()\r\nexport class DataTableService {\r\n /**\r\n * Service Constructor\r\n *\r\n * @param http: HttpClient\r\n */\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n /**\r\n * Returns data from fake server\r\n */\r\n getAllItems(): Observable {\r\n return this.http.get(API_DATATABLE_URL);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class KtDialogService {\r\n private ktDialog: any;\r\n private currentState: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n // Public properties\r\n constructor() {\r\n this.ktDialog = new KTDialog({type: 'loader', placement: 'top center', message: 'Loading ...'});\r\n }\r\n\r\n show() {\r\n this.currentState.next(true);\r\n this.ktDialog.show();\r\n }\r\n\r\n hide() {\r\n this.currentState.next(false);\r\n this.ktDialog.hide();\r\n }\r\n\r\n checkIsShown() {\r\n return this.currentState.value;\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { Subject } from \"rxjs\";\r\n// Object-Path\r\nimport * as objectPath from \"object-path\";\r\n// Lodash\r\nimport { merge } from \"lodash\";\r\n// Models\r\nimport { LayoutConfigModel } from \"../models/layout-config.model\";\r\n\r\n@Injectable()\r\nexport class LayoutConfigService {\r\n // Public properties\r\n onConfigUpdated$: Subject;\r\n layoutConfig: LayoutConfigModel;\r\n\r\n /**\r\n * Service constructor\r\n */\r\n constructor() {\r\n // register on config changed event and set default config\r\n this.onConfigUpdated$ = new Subject();\r\n }\r\n\r\n /**\r\n * Save layout config to the local storage\r\n * param layoutConfig\r\n */\r\n saveConfig(layoutConfig: LayoutConfigModel): void {\r\n if (layoutConfig) {\r\n localStorage.setItem(\"layoutConfig\", JSON.stringify(layoutConfig));\r\n }\r\n }\r\n\r\n /**\r\n * Get layout config from local storage\r\n */\r\n getSavedConfig(): LayoutConfigModel {\r\n const config = localStorage.getItem(\"layoutConfig\");\r\n try {\r\n return JSON.parse(config);\r\n } catch (e) {}\r\n }\r\n\r\n /**\r\n * Remove saved layout config and revert back to default\r\n */\r\n resetConfig(): void {\r\n localStorage.removeItem(\"layoutConfig\");\r\n }\r\n\r\n /**\r\n * Get all config or by object path\r\n * @param path | object path separated by dot\r\n */\r\n getConfig(path?: string): LayoutConfigModel | any {\r\n // merge default layout config with the saved config from layout storage\r\n // @todo; known issue; viewing 2 or more demos at the time in different browser's tabs, can cause conflict to the layout config\r\n this.layoutConfig = this.getSavedConfig();\r\n\r\n if (path) {\r\n // if path is specified, get the value within object\r\n return objectPath.get(this.layoutConfig, path);\r\n }\r\n\r\n return this.layoutConfig;\r\n }\r\n\r\n /**\r\n * Set existing config with a new value\r\n * param value\r\n * param save\r\n */\r\n setConfig(value: any, save?: boolean): void {\r\n this.layoutConfig = merge(this.layoutConfig, value);\r\n\r\n if (save) {\r\n this.saveConfig(this.layoutConfig);\r\n }\r\n\r\n // fire off an event that all subscribers will listen\r\n this.onConfigUpdated$.next(this.layoutConfig);\r\n }\r\n\r\n /**\r\n * Get brand logo\r\n */\r\n getLogo(): string {\r\n const menuAsideLeftSkin = objectPath.get(\r\n this.layoutConfig,\r\n \"brand.self.theme\"\r\n );\r\n // set brand logo\r\n const logoObject = objectPath.get(this.layoutConfig, \"self.logo\");\r\n\r\n let logo;\r\n if (typeof logoObject === \"string\") {\r\n logo = logoObject;\r\n }\r\n if (typeof logoObject === \"object\") {\r\n logo = objectPath.get(logoObject, menuAsideLeftSkin + \"\");\r\n }\r\n if (typeof logo === \"undefined\") {\r\n try {\r\n const logos = objectPath.get(this.layoutConfig, \"self.logo\");\r\n logo = logos[Object.keys(logos)[0]];\r\n } catch (e) {}\r\n }\r\n return logo;\r\n }\r\n\r\n /**\r\n * Returns sticky logo\r\n */\r\n getStickyLogo(): string {\r\n let logo = objectPath.get(this.layoutConfig, \"self.logo.sticky\");\r\n if (typeof logo === \"undefined\") {\r\n logo = this.getLogo();\r\n }\r\n return logo + \"\";\r\n }\r\n\r\n /**\r\n * Initialize layout config\r\n * param config\r\n */\r\n loadConfigs(config: LayoutConfigModel) {\r\n this.layoutConfig = this.getSavedConfig();\r\n // use saved config as priority, or load new config if demo does not matched\r\n if (\r\n !this.layoutConfig ||\r\n objectPath.get(this.layoutConfig, \"demo\") !== config.demo\r\n ) {\r\n this.layoutConfig = config;\r\n }\r\n this.saveConfig(this.layoutConfig);\r\n }\r\n\r\n /**\r\n * Reload current layout config to the state of latest saved config\r\n */\r\n reloadConfigs(): LayoutConfigModel {\r\n this.layoutConfig = this.getSavedConfig();\r\n this.onConfigUpdated$.next(this.layoutConfig);\r\n return this.layoutConfig;\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LayoutRefService {\r\n // Public properties\r\n layoutRefs$: BehaviorSubject = new BehaviorSubject({});\r\n layoutRefs: any = {};\r\n\r\n /**\r\n * Add element to Ref\r\n *\r\n * @param name: any\r\n * @param element: any\r\n */\r\n addElement(name, element) {\r\n const obj = {};\r\n obj[name] = element;\r\n\r\n this.layoutRefs = Object.assign({}, this.layoutRefs, obj);\r\n this.layoutRefs$.next(this.layoutRefs);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { BehaviorSubject } from \"rxjs\";\r\n// Object path\r\nimport * as objectPath from \"object-path\";\r\n// Services\r\nimport { MenuConfigService } from \"./menu-config.service\";\r\n\r\n@Injectable()\r\nexport class MenuAsideService {\r\n // Public properties\r\n menuList$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n /**\r\n * Service constructor\r\n *\r\n * @param menuConfigService: MenuConfigService\r\n */\r\n constructor(private menuConfigService: MenuConfigService) {\r\n this.loadMenu();\r\n this.menuConfigService.onConfigUpdated$.subscribe(() => {\r\n this.loadMenu();\r\n });\r\n }\r\n\r\n /**\r\n * Load menu list\r\n */\r\n loadMenu() {\r\n // get menu list\r\n const menuItems: any[] = objectPath.get(\r\n this.menuConfigService.getMenus(),\r\n \"aside.items\"\r\n );\r\n this.menuList$.next(menuItems);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MenuConfigService {\r\n // Public properties\r\n onConfigUpdated$: Subject;\r\n // Private properties\r\n private menuConfig: any;\r\n\r\n /**\r\n * Service Constructor\r\n */\r\n constructor() {\r\n // register on config changed event and set default config\r\n this.onConfigUpdated$ = new Subject();\r\n }\r\n\r\n /**\r\n * Returns the menuConfig\r\n */\r\n getMenus() {\r\n return this.menuConfig;\r\n }\r\n\r\n /**\r\n * Load config\r\n *\r\n * @param config: any\r\n */\r\n loadConfigs(config: any) {\r\n this.menuConfig = config;\r\n this.onConfigUpdated$.next(this.menuConfig);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { BehaviorSubject } from 'rxjs';\r\n// Object path\r\nimport * as objectPath from 'object-path';\r\n// Services\r\nimport { MenuConfigService } from './menu-config.service';\r\n\r\n@Injectable()\r\nexport class MenuHorizontalService {\r\n // Public properties\r\n menuList$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n /**\r\n * Service constructor\r\n *\r\n * @param menuConfigService: MenuConfigService\r\n */\r\n constructor(private menuConfigService: MenuConfigService) {\r\n this.loadMenu();\r\n }\r\n\r\n /**\r\n * Load menu list\r\n */\r\n loadMenu() {\r\n // get menu list\r\n const menuItems: any[] = objectPath.get(this.menuConfigService.getMenus(), 'header.items');\r\n this.menuList$.next(menuItems);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// RxJS\r\nimport { Subject } from 'rxjs';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Lodash\r\nimport { merge } from 'lodash';\r\n\r\n@Injectable()\r\nexport class PageConfigService {\r\n // Public properties\r\n onConfigUpdated$: Subject;\r\n pageConfig: any;\r\n\r\n /**\r\n * Service Constructor\r\n *\r\n * @param router: Router\r\n */\r\n constructor(private router: Router) {\r\n // register on config changed event and set default config\r\n this.onConfigUpdated$ = new Subject();\r\n }\r\n\r\n /**\r\n * Get current page config based on route\r\n */\r\n getCurrentPageConfig(path?: string): any {\r\n let configPath = this.cleanUrl(this.router.url);\r\n\r\n if (path) {\r\n configPath += '.' + path;\r\n }\r\n\r\n // get page config by path\r\n return objectPath.get(this.pageConfig, configPath);\r\n }\r\n\r\n /**\r\n * Set existing config with a new value\r\n * @param value: any\r\n * @param sav: boolean?\r\n */\r\n setConfig(value: any, save?: boolean): void {\r\n this.pageConfig = merge(this.pageConfig, value);\r\n\r\n if (save) {\r\n // not implemented\r\n }\r\n\r\n // fire off an event that all subscribers will listen\r\n this.onConfigUpdated$.next(this.pageConfig);\r\n }\r\n\r\n /**\r\n * Load confgis\r\n *\r\n * @param config: any\r\n */\r\n loadConfigs(config: any) {\r\n this.pageConfig = config;\r\n this.onConfigUpdated$.next(this.pageConfig);\r\n }\r\n\r\n /**\r\n * Remove unnecessary params from URL\r\n * param url\r\n */\r\n cleanUrl(url: string): string {\r\n // remove first route (demo name) from url router\r\n if (new RegExp(/^\\/demo/).test(url)) {\r\n const urls = url.split('/');\r\n urls.splice(0, 2);\r\n url = urls.join('/');\r\n }\r\n\r\n if (url.charAt(0) === '/') {\r\n url = url.substr(1);\r\n }\r\n\r\n // we get the page title from config, using url path.\r\n // we need to remove query from url ?id=1 before we use the path to search in array config.\r\n let finalUrl = url.replace(/\\//g, '.');\r\n if (finalUrl.indexOf('?') !== -1) {\r\n finalUrl = finalUrl.substring(0, finalUrl.indexOf('?'));\r\n }\r\n\r\n return finalUrl;\r\n }\r\n}\r\n","// Angular\r\nimport { ElementRef, Injectable } from '@angular/core';\r\nimport { animate, AnimationBuilder, style } from '@angular/animations';\r\n\r\n@Injectable()\r\nexport class SplashScreenService {\r\n // Private properties\r\n private el: ElementRef;\r\n private stopped: boolean;\r\n\r\n /**\r\n * Service constructor\r\n *\r\n * @param animationBuilder: AnimationBuilder\r\n */\r\n constructor(private animationBuilder: AnimationBuilder) {\r\n }\r\n\r\n /**\r\n * Init\r\n *\r\n * @param element: ElementRef\r\n */\r\n init(element: ElementRef) {\r\n this.el = element;\r\n }\r\n\r\n /**\r\n * Hide\r\n */\r\n hide() {\r\n if (this.stopped) {\r\n return;\r\n }\r\n\r\n const player = this.animationBuilder.build([\r\n style({opacity: '1'}),\r\n animate(800, style({opacity: '0'}))\r\n ]).create(this.el.nativeElement);\r\n\r\n player.onDone(() => {\r\n if (typeof this.el.nativeElement.remove === 'function') {\r\n this.el.nativeElement.remove();\r\n } else {\r\n this.el.nativeElement.style.display = 'none';\r\n }\r\n this.stopped = true;\r\n });\r\n\r\n setTimeout(() => player.play(), 300);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// RxJS\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Services\r\nimport { PageConfigService } from './page-config.service';\r\nimport { MenuConfigService } from './menu-config.service';\r\n\r\nexport interface Breadcrumb {\r\n title: string;\r\n page: string | any;\r\n}\r\n\r\nexport interface BreadcrumbTitle {\r\n title: string;\r\n desc?: string;\r\n}\r\n\r\n@Injectable()\r\nexport class SubheaderService {\r\n // Public properties\r\n title$: BehaviorSubject = new BehaviorSubject({title: '', desc: ''});\r\n breadcrumbs$: BehaviorSubject = new BehaviorSubject([]);\r\n disabled$: Subject = new Subject();\r\n\r\n // Private properties\r\n private manualBreadcrumbs: any = {};\r\n private appendingBreadcrumbs: any = {};\r\n private manualTitle: any = {};\r\n\r\n private asideMenus: any;\r\n private headerMenus: any;\r\n private pageConfig: any;\r\n\r\n /**\r\n * Service Constructor\r\n *\r\n * @param router: Router\r\n * @param pageConfigService: PageConfigServie\r\n * @param menuConfigService: MenuConfigService\r\n */\r\n constructor(\r\n private router: Router,\r\n private pageConfigService: PageConfigService,\r\n private menuConfigService: MenuConfigService) {\r\n const initBreadcrumb = () => {\r\n // get updated title current page config\r\n this.pageConfig = this.pageConfigService.getCurrentPageConfig();\r\n\r\n this.headerMenus = objectPath.get(this.menuConfigService.getMenus(), 'header');\r\n this.asideMenus = objectPath.get(this.menuConfigService.getMenus(), 'aside');\r\n\r\n // update breadcrumb on initial page load\r\n this.updateBreadcrumbs();\r\n\r\n if (objectPath.get(this.manualTitle, this.router.url)) {\r\n this.setTitle(this.manualTitle[this.router.url]);\r\n } else {\r\n // get updated page title on every route changed\r\n this.title$.next(objectPath.get(this.pageConfig, 'page'));\r\n\r\n // subheader enable/disable\r\n const hideSubheader = objectPath.get(this.pageConfig, 'page.subheader');\r\n this.disabled$.next(typeof hideSubheader !== 'undefined' && !hideSubheader);\r\n\r\n if (objectPath.get(this.manualBreadcrumbs, this.router.url)) {\r\n // breadcrumbs was set manually\r\n this.setBreadcrumbs(this.manualBreadcrumbs[this.router.url]);\r\n } else {\r\n // get updated breadcrumbs on every route changed\r\n this.updateBreadcrumbs();\r\n // breadcrumbs was appended before, reuse it for this page\r\n if (objectPath.get(this.appendingBreadcrumbs, this.router.url)) {\r\n this.appendBreadcrumbs(this.appendingBreadcrumbs[this.router.url]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n initBreadcrumb();\r\n\r\n // subscribe to router events\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(initBreadcrumb);\r\n }\r\n\r\n /**\r\n * Update breadCrumbs\r\n */\r\n updateBreadcrumbs() {\r\n // get breadcrumbs from header menu\r\n let breadcrumbs = this.getBreadcrumbs(this.headerMenus);\r\n // if breadcrumbs empty from header menu\r\n if (breadcrumbs.length === 0) {\r\n // get breadcrumbs from aside menu\r\n breadcrumbs = this.getBreadcrumbs(this.asideMenus);\r\n }\r\n\r\n if (\r\n // if breadcrumb has only 1 item\r\n breadcrumbs.length === 1 &&\r\n // and breadcrumb title is same as current page title\r\n breadcrumbs[0].title.indexOf(objectPath.get(this.pageConfig, 'page.title')) !== -1) {\r\n // no need to display on frontend\r\n breadcrumbs = [];\r\n }\r\n\r\n this.breadcrumbs$.next(breadcrumbs);\r\n }\r\n\r\n /**\r\n * Manually set full breadcrumb paths\r\n */\r\n setBreadcrumbs(breadcrumbs: Breadcrumb[] | any[]) {\r\n this.manualBreadcrumbs[this.router.url] = breadcrumbs;\r\n this.breadcrumbs$.next(breadcrumbs);\r\n }\r\n\r\n /**\r\n * Append breadcrumb to the last existing breadcrumbs\r\n * param breadcrumbs\r\n */\r\n appendBreadcrumbs(breadcrumbs: Breadcrumb[] | any[]) {\r\n this.appendingBreadcrumbs[this.router.url] = breadcrumbs;\r\n const prev = this.breadcrumbs$.getValue();\r\n this.breadcrumbs$.next(prev.concat(breadcrumbs));\r\n }\r\n\r\n /**\r\n * Get breadcrumbs from menu items\r\n * param menus\r\n */\r\n getBreadcrumbs(menus: any) {\r\n let url = this.pageConfigService.cleanUrl(this.router.url);\r\n url = url.replace(new RegExp(/\\./, 'g'), '/');\r\n\r\n const breadcrumbs = [];\r\n const menuPath = this.getPath(menus, url) || [];\r\n menuPath.forEach(key => {\r\n menus = menus[key];\r\n if (typeof menus !== 'undefined' && menus.title) {\r\n breadcrumbs.push(menus);\r\n }\r\n });\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n /**\r\n * Set title\r\n *\r\n * @param title: string\r\n */\r\n setTitle(title: string) {\r\n this.manualTitle[this.router.url] = title;\r\n this.title$.next({title});\r\n }\r\n\r\n /**\r\n * Get object path by value\r\n * param obj\r\n * param value\r\n */\r\n getPath(obj, value) {\r\n if (typeof obj !== 'object') {\r\n return;\r\n }\r\n const path = [];\r\n let found = false;\r\n\r\n const search = (haystack) => {\r\n // tslint:disable-next-line\r\n for (let key in haystack) {\r\n path.push(key);\r\n if (haystack[key] === value) {\r\n found = true;\r\n break;\r\n }\r\n if (typeof haystack[key] === 'object') {\r\n search(haystack[key]);\r\n if (found) {\r\n break;\r\n }\r\n }\r\n path.pop();\r\n }\r\n };\r\n\r\n search(obj);\r\n return path;\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// Translation\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface Locale {\r\n lang: string;\r\n // tslint:disable-next-line:ban-types\r\n data: Object;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslationService {\r\n // Private properties\r\n private langIds: any = [];\r\n\r\n /**\r\n * Service Constructor\r\n *\r\n * @param translate: TranslateService\r\n */\r\n constructor(private translate: TranslateService) {\r\n // add new langIds to the list\r\n this.translate.addLangs(['en']);\r\n\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n this.translate.setDefaultLang('en');\r\n }\r\n\r\n /**\r\n * Load Translation\r\n *\r\n * @param args: Locale[]\r\n */\r\n loadTranslations(...args: Locale[]): void {\r\n const locales = [...args];\r\n\r\n locales.forEach(locale => {\r\n // use setTranslation() with the third argument set to true\r\n // to append translations instead of replacing them\r\n this.translate.setTranslation(locale.lang, locale.data, true);\r\n\r\n this.langIds.push(locale.lang);\r\n });\r\n\r\n // add new languages to the list\r\n this.translate.addLangs(this.langIds);\r\n }\r\n\r\n /**\r\n * Setup language\r\n *\r\n * @param lang: any\r\n */\r\n setLanguage(lang) {\r\n if (lang) {\r\n this.translate.use(this.translate.getDefaultLang());\r\n this.translate.use(lang);\r\n localStorage.setItem('language', lang);\r\n }\r\n }\r\n\r\n /**\r\n * Returns selected language\r\n */\r\n getSelectedLanguage(): any {\r\n return localStorage.getItem('language') || this.translate.getDefaultLang();\r\n }\r\n}\r\n","// China\r\nexport const locale = {\r\n lang: 'ch',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: '选择你的语言',\r\n },\r\n MENU: {\r\n NEW: '新',\r\n ACTIONS: '行动',\r\n CREATE_POST: '创建新帖子',\r\n PAGES: 'Pages',\r\n FEATURES: '特征',\r\n APPS: '应用',\r\n DASHBOARD: '仪表板',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: '要么',\r\n SUBMIT_BUTTON: '提交',\r\n NO_ACCOUNT: '没有账号?',\r\n SIGNUP_BUTTON: '注册',\r\n FORGOT_BUTTON: '忘记密码',\r\n BACK_BUTTON: '背部',\r\n PRIVACY: '隐私',\r\n LEGAL: '法律',\r\n CONTACT: '联系',\r\n },\r\n LOGIN: {\r\n TITLE: '创建帐号',\r\n BUTTON: '签到',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: '用戶名'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: '顾客',\r\n CUSTOMERS_LIST: '客户名单',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// Germany\r\nexport const locale = {\r\n lang: 'de',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'Wähle deine Sprache',\r\n },\r\n MENU: {\r\n NEW: 'Neu',\r\n ACTIONS: 'Aktionen',\r\n CREATE_POST: 'Erstellen Sie einen neuen Beitrag',\r\n PAGES: 'Pages',\r\n FEATURES: 'Eigenschaften',\r\n APPS: 'Apps',\r\n DASHBOARD: 'Instrumententafel'\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'Oder',\r\n SUBMIT_BUTTON: 'einreichen',\r\n NO_ACCOUNT: 'Hast du kein Konto?',\r\n SIGNUP_BUTTON: 'Anmelden',\r\n FORGOT_BUTTON: 'Passwort vergessen',\r\n BACK_BUTTON: 'Zurück',\r\n PRIVACY: 'Privatsphäre',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Kontakt',\r\n },\r\n LOGIN: {\r\n TITLE: 'Create Account',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Nutzername'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// USA\r\nexport const locale = {\r\n lang: \"en\",\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: \"Select your language\",\r\n },\r\n MENU: {\r\n NEW: \"new\",\r\n ACTIONS: \"Actions\",\r\n CREATE_POST: \"Create New Post\",\r\n PAGES: \"Pages\",\r\n FEATURES: \"Features\",\r\n APPS: \"Apps\",\r\n DASHBOARD: \"Dashboard\",\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: \"Or\",\r\n SUBMIT_BUTTON: \"Submit\",\r\n NO_ACCOUNT: \"Don't have an account?\",\r\n SIGNUP_BUTTON: \"Sign Up\",\r\n FORGOT_BUTTON: \"Forgot Password\",\r\n BACK_BUTTON: \"Back\",\r\n PRIVACY: \"Privacy\",\r\n LEGAL: \"Legal\",\r\n CONTACT: \"Contact us\",\r\n TITLE: \"AKSATA 360 ©\",\r\n },\r\n LOGIN: {\r\n TITLE: \"Login Account\",\r\n BUTTON: \"Sign In\",\r\n },\r\n FORGOT: {\r\n TITLE: \"Forgotten Password?\",\r\n DESC: \"Enter your email to reset your password\",\r\n SUCCESS: \"Your account has been successfully reset.\",\r\n },\r\n REGISTER: {\r\n TITLE: \"Sign Up\",\r\n DESC: \"Enter your details to create your account\",\r\n SUCCESS: \"Your account has been successfuly registered.\",\r\n },\r\n INPUT: {\r\n EMAIL: \"Email\",\r\n FULLNAME: \"Fullname\",\r\n PASSWORD: \"Password\",\r\n CONFIRM_PASSWORD: \"Confirm Password\",\r\n USERNAME: \"Username\",\r\n },\r\n VALIDATION: {\r\n INVALID: \"{{name}} is not valid\",\r\n REQUIRED: \"{{name}} is required\",\r\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\r\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\r\n NOT_FOUND: \"The requested {{name}} is not found\",\r\n INVALID_LOGIN: \"The login detail is incorrect\",\r\n REQUIRED_FIELD: \"Required field\",\r\n MIN_LENGTH_FIELD: \"Minimum field length:\",\r\n MAX_LENGTH_FIELD: \"Maximum field length:\",\r\n INVALID_FIELD: \"Field is not valid\",\r\n },\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\r\n ALL: \"All\",\r\n SUSPENDED: \"Suspended\",\r\n ACTIVE: \"Active\",\r\n FILTER: \"Filter\",\r\n BY_STATUS: \"by Status\",\r\n BY_TYPE: \"by Type\",\r\n BUSINESS: \"Business\",\r\n INDIVIDUAL: \"Individual\",\r\n SEARCH: \"Search\",\r\n IN_ALL_FIELDS: \"in all fields\",\r\n },\r\n ECOMMERCE: \"eCommerce\",\r\n CUSTOMERS: {\r\n CUSTOMERS: \"Customers\",\r\n CUSTOMERS_LIST: \"Customers list\",\r\n NEW_CUSTOMER: \"New Customer\",\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: \"Customer Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\r\n WAIT_DESCRIPTION: \"Customer is deleting...\",\r\n MESSAGE: \"Customer has been deleted\",\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: \"Customers Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\r\n WAIT_DESCRIPTION: \"Customers are deleting...\",\r\n MESSAGE: \"Selected customers have been deleted\",\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: \"Status has been updated for selected customers\",\r\n MESSAGE: \"Selected customers status have successfully been updated\",\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: \"Customer has been updated\",\r\n ADD_MESSAGE: \"Customer has been created\",\r\n },\r\n },\r\n },\r\n },\r\n};\r\n","// Spain\r\nexport const locale = {\r\n lang: 'es',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'Elige tu idioma',\r\n },\r\n MENU: {\r\n NEW: 'nuevo',\r\n ACTIONS: 'Comportamiento',\r\n CREATE_POST: 'Crear nueva publicación',\r\n PAGES: 'Pages',\r\n FEATURES: 'Caracteristicas',\r\n APPS: 'Aplicaciones',\r\n DASHBOARD: 'Tablero'\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'O',\r\n SUBMIT_BUTTON: 'Enviar',\r\n NO_ACCOUNT: 'No tienes una cuenta?',\r\n SIGNUP_BUTTON: 'Regístrate',\r\n FORGOT_BUTTON: 'Se te olvidó tu contraseña',\r\n BACK_BUTTON: 'Espalda',\r\n PRIVACY: 'Intimidad',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Contacto',\r\n },\r\n LOGIN: {\r\n TITLE: 'Crear una cuenta',\r\n BUTTON: 'Registrarse',\r\n },\r\n FORGOT: {\r\n TITLE: 'Contraseña olvidada?',\r\n DESC: 'Ingrese su correo electrónico para restablecer su contraseña',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Usuario'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// France\r\nexport const locale = {\r\n lang: 'fr',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'choisissez votre langue',\r\n },\r\n MENU: {\r\n NEW: 'Nouveau',\r\n ACTIONS: 'Actes',\r\n CREATE_POST: 'Créer un nouveau Post',\r\n PAGES: 'Pages',\r\n FEATURES: 'Fonctionnalités',\r\n APPS: 'Applications',\r\n DASHBOARD: 'Tableau de Bord',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'Ou',\r\n SUBMIT_BUTTON: 'Soumettre',\r\n NO_ACCOUNT: 'Ne pas avoir de compte?',\r\n SIGNUP_BUTTON: 'Registre',\r\n FORGOT_BUTTON: 'Mot de passe oublié',\r\n BACK_BUTTON: 'Back',\r\n PRIVACY: 'Privacy',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Contact',\r\n },\r\n LOGIN: {\r\n TITLE: 'Créer un compte',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Mot de passe',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Nom d\\'utilisateur'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} n\\'est pas valide',\r\n REQUIRED: '{{name}} est requis',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Nombre d\\'enregistrements sélectionnés: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'éCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Les clients',\r\n CUSTOMERS_LIST: 'Liste des clients',\r\n NEW_CUSTOMER: 'Nouveau client',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Suppression du client',\r\n DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement ce client?',\r\n WAIT_DESCRIPTION: 'Le client est en train de supprimer ...',\r\n MESSAGE: 'Le client a été supprimé'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Supprimer les clients',\r\n DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement les clients sélectionnés?',\r\n WAIT_DESCRIPTION: 'Les clients suppriment ...',\r\n MESSAGE: 'Les clients sélectionnés ont été supprimés'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Le statut a été mis à jour pour les clients sélectionnés',\r\n MESSAGE: 'Le statut des clients sélectionnés a été mis à jour avec succès'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Le client a été mis à jour',\r\n ADD_MESSAGE: 'Le client a été créé'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// Japan\r\nexport const locale = {\r\n lang: 'jp',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'あなたが使う言語を選んでください',\r\n },\r\n MENU: {\r\n NEW: '新しい',\r\n ACTIONS: '行動',\r\n CREATE_POST: '新しい投稿を作成',\r\n PAGES: 'Pages',\r\n FEATURES: '特徴',\r\n APPS: 'アプリ',\r\n DASHBOARD: 'ダッシュボード',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'または',\r\n SUBMIT_BUTTON: '提出する',\r\n NO_ACCOUNT: 'アカウントを持っていない?',\r\n SIGNUP_BUTTON: 'サインアップ',\r\n FORGOT_BUTTON: 'パスワードをお忘れですか',\r\n BACK_BUTTON: 'バック',\r\n PRIVACY: 'プライバシー',\r\n LEGAL: '法的',\r\n CONTACT: '接触',\r\n },\r\n LOGIN: {\r\n TITLE: 'Create Account',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'ユーザー名'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import { LayoutConfigModel } from \"../_base/layout\";\r\n\r\nexport class LayoutConfig {\r\n public defaults: LayoutConfigModel = {\r\n demo: \"demo1\",\r\n js: {\r\n breakpoints: {\r\n sm: 576,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n xxl: 1200,\r\n },\r\n colors: {\r\n theme: {\r\n base: {\r\n white: \"#ffffff\",\r\n primary: \"#6993FF\",\r\n secondary: \"#E5EAEE\",\r\n success: \"#1BC5BD\",\r\n info: \"#8950FC\",\r\n warning: \"#FFA800\",\r\n danger: \"#F64E60\",\r\n light: \"#F3F6F9\",\r\n dark: \"#212121\",\r\n },\r\n light: {\r\n white: \"#ffffff\",\r\n primary: \"#E1E9FF\",\r\n secondary: \"#ECF0F3\",\r\n success: \"#C9F7F5\",\r\n info: \"#EEE5FF\",\r\n warning: \"#FFF4DE\",\r\n danger: \"#FFE2E5\",\r\n light: \"#F3F6F9\",\r\n dark: \"#D6D6E0\",\r\n },\r\n inverse: {\r\n white: \"#ffffff\",\r\n primary: \"#ffffff\",\r\n secondary: \"#212121\",\r\n success: \"#ffffff\",\r\n info: \"#ffffff\",\r\n warning: \"#ffffff\",\r\n danger: \"#ffffff\",\r\n light: \"#464E5F\",\r\n dark: \"#ffffff\",\r\n },\r\n },\r\n gray: {\r\n gray100: \"#F3F6F9\",\r\n gray200: \"#ECF0F3\",\r\n gray300: \"#E5EAEE\",\r\n gray400: \"#D6D6E0\",\r\n gray500: \"#B5B5C3\",\r\n gray600: \"#80808F\",\r\n gray700: \"#464E5F\",\r\n gray800: \"#1B283F\",\r\n gray900: \"#212121\",\r\n },\r\n },\r\n fontFamily: \"Poppins\",\r\n },\r\n // == Base Layout\r\n self: {\r\n layout: \"default\", // blank/default page mode\r\n },\r\n // == Page Splash Screen loading\r\n \"page-loader\": {\r\n type: \"default\", // default|spinner-message|spinner-logo\r\n },\r\n header: {\r\n self: {\r\n display: true,\r\n width: \"fluid\", // fixed|fluid,\r\n theme: \"light\", // light|dark\r\n fixed: {\r\n desktop: true,\r\n mobile: true,\r\n },\r\n },\r\n menu: {\r\n self: {\r\n display: true,\r\n layout: \"default\", // tab/default,\r\n rootArrow: false,\r\n \"icon-style\": \"duotone\", // duotone, line, bold, solid\r\n },\r\n desktop: {\r\n arrow: true,\r\n toggle: \"click\",\r\n submenu: {\r\n theme: \"light\", // light/dark\r\n arrow: true,\r\n },\r\n },\r\n mobile: {\r\n submenu: {\r\n theme: \"dark\", // light/dark\r\n accordion: true,\r\n },\r\n },\r\n },\r\n },\r\n subheader: {\r\n display: true,\r\n displayDesc: false,\r\n displayDaterangepicker: true,\r\n layout: \"subheader-v1\", // 'subheader-v2'|'subheader-v3'\r\n fixed: true,\r\n width: \"fluid\", // fixed|fluid\r\n clear: false,\r\n style: \"solid\", // transparent/solid\r\n },\r\n content: {\r\n width: \"fluid\", // fluid/fixed\r\n },\r\n brand: {\r\n self: {\r\n theme: \"dark\", // light/dark\r\n },\r\n },\r\n aside: {\r\n self: {\r\n theme: \"dark\", // light/dark\r\n display: true,\r\n fixed: true,\r\n minimize: {\r\n toggle: true, // allow toggle\r\n default: false, // default state\r\n hoverable: true,\r\n },\r\n },\r\n footer: {\r\n self: {\r\n display: true,\r\n },\r\n },\r\n menu: {\r\n dropdown: false, // ok\r\n scroll: false, // ok\r\n \"icon-style\": \"duotone\",\r\n submenu: {\r\n accordion: true,\r\n dropdown: {\r\n arrow: true,\r\n \"hover-timeout\": 500, // in milliseconds\r\n },\r\n },\r\n },\r\n },\r\n footer: {\r\n width: \"fluid\",\r\n fixed: false,\r\n },\r\n extras: {\r\n search: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n notifications: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\", // light|dark\r\n },\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n user: {\r\n display: true,\r\n layout: \"offcanvas\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\", // light|dark\r\n },\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n languages: {\r\n display: true,\r\n },\r\n cart: {\r\n display: true,\r\n dropdown: {\r\n style: \"dark\",\r\n },\r\n },\r\n \"quick-actions\": {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\",\r\n },\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n \"quick-panel\": {\r\n display: true,\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n chat: {\r\n display: false,\r\n },\r\n toolbar: {\r\n display: true,\r\n },\r\n scrolltop: {\r\n display: true,\r\n },\r\n },\r\n };\r\n\r\n /**\r\n * Good place for getting the remote config\r\n */\r\n public get configs(): LayoutConfigModel {\r\n return this.defaults;\r\n }\r\n}\r\n","import { RoleType } from \"./../auth/_models/role-type.model\";\r\nexport class MenuConfig {\r\n public defaults: any = {\r\n header: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboards\",\r\n root: true,\r\n alignment: \"left\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n },\r\n // {\r\n // title: \"Components\",\r\n // root: true,\r\n // alignment: \"left\",\r\n // toggle: \"click\",\r\n // submenu: [\r\n // {\r\n // title: \"Google Material\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-interface-7\",\r\n // submenu: [\r\n // {\r\n // title: \"Form Controls\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Auto Complete\",\r\n // page: \"/material/form-controls/autocomplete\",\r\n // permission: \"accessToECommerceModule\",\r\n // },\r\n // {\r\n // title: \"Checkbox\",\r\n // page: \"/material/form-controls/checkbox\",\r\n // },\r\n // {\r\n // title: \"Radio Button\",\r\n // page: \"/material/form-controls/radiobutton\",\r\n // },\r\n // {\r\n // title: \"Datepicker\",\r\n // page: \"/material/form-controls/datepicker\",\r\n // },\r\n // {\r\n // title: \"Form Field\",\r\n // page: \"/material/form-controls/formfield\",\r\n // },\r\n // {\r\n // title: \"Input\",\r\n // page: \"/material/form-controls/input\",\r\n // },\r\n // {\r\n // title: \"Select\",\r\n // page: \"/material/form-controls/select\",\r\n // },\r\n // {\r\n // title: \"Slider\",\r\n // page: \"/material/form-controls/slider\",\r\n // },\r\n // {\r\n // title: \"Slider Toggle\",\r\n // page: \"/material/form-controls/slidertoggle\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Navigation\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Menu\",\r\n // page: \"/material/navigation/menu\",\r\n // },\r\n // {\r\n // title: \"Sidenav\",\r\n // page: \"/material/navigation/sidenav\",\r\n // },\r\n // {\r\n // title: \"Toolbar\",\r\n // page: \"/material/navigation/toolbar\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Layout\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Card\",\r\n // page: \"/material/layout/card\",\r\n // },\r\n // {\r\n // title: \"Divider\",\r\n // page: \"/material/layout/divider\",\r\n // },\r\n // {\r\n // title: \"Expansion panel\",\r\n // page: \"/material/layout/expansion-panel\",\r\n // },\r\n // {\r\n // title: \"Grid list\",\r\n // page: \"/material/layout/grid-list\",\r\n // },\r\n // {\r\n // title: \"List\",\r\n // page: \"/material/layout/list\",\r\n // },\r\n // {\r\n // title: \"Tabs\",\r\n // page: \"/material/layout/tabs\",\r\n // },\r\n // {\r\n // title: \"Stepper\",\r\n // page: \"/material/layout/stepper\",\r\n // },\r\n // {\r\n // title: \"Tree\",\r\n // page: \"/material/layout/tree\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Buttons & Indicators\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Button\",\r\n // page: \"/material/buttons-and-indicators/button\",\r\n // },\r\n // {\r\n // title: \"Button toggle\",\r\n // page: \"/material/buttons-and-indicators/button-toggle\",\r\n // },\r\n // {\r\n // title: \"Chips\",\r\n // page: \"/material/buttons-and-indicators/chips\",\r\n // },\r\n // {\r\n // title: \"Icon\",\r\n // page: \"/material/buttons-and-indicators/icon\",\r\n // },\r\n // {\r\n // title: \"Progress bar\",\r\n // page: \"/material/buttons-and-indicators/progress-bar\",\r\n // },\r\n // {\r\n // title: \"Progress spinner\",\r\n // page: \"/material/buttons-and-indicators/progress-spinner\",\r\n // },\r\n // {\r\n // title: \"Ripples\",\r\n // page: \"/material/buttons-and-indicators/ripples\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Popups & Modals\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Bottom sheet\",\r\n // page: \"/material/popups-and-modals/bottom-sheet\",\r\n // },\r\n // {\r\n // title: \"Dialog\",\r\n // page: \"/material/popups-and-modals/dialog\",\r\n // },\r\n // {\r\n // title: \"Snackbar\",\r\n // page: \"/material/popups-and-modals/snackbar\",\r\n // },\r\n // {\r\n // title: \"Tooltip\",\r\n // page: \"/material/popups-and-modals/tooltip\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Data table\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Paginator\",\r\n // page: \"/material/data-table/paginator\",\r\n // },\r\n // {\r\n // title: \"Sort header\",\r\n // page: \"/material/data-table/sort-header\",\r\n // },\r\n // {\r\n // title: \"Table\",\r\n // page: \"/material/data-table/table\",\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Ng-Bootstrap\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-web\",\r\n // submenu: [\r\n // {\r\n // title: \"Accordion\",\r\n // page: \"/ngbootstrap/accordion\",\r\n // },\r\n // {\r\n // title: \"Alert\",\r\n // page: \"/ngbootstrap/alert\",\r\n // },\r\n // {\r\n // title: \"Buttons\",\r\n // page: \"/ngbootstrap/buttons\",\r\n // },\r\n // {\r\n // title: \"Carousel\",\r\n // page: \"/ngbootstrap/carousel\",\r\n // },\r\n // {\r\n // title: \"Collapse\",\r\n // page: \"/ngbootstrap/collapse\",\r\n // },\r\n // {\r\n // title: \"Datepicker\",\r\n // page: \"/ngbootstrap/datepicker\",\r\n // },\r\n // {\r\n // title: \"Dropdown\",\r\n // page: \"/ngbootstrap/dropdown\",\r\n // },\r\n // {\r\n // title: \"Modal\",\r\n // page: \"/ngbootstrap/modal\",\r\n // },\r\n // {\r\n // title: \"Pagination\",\r\n // page: \"/ngbootstrap/pagination\",\r\n // },\r\n // {\r\n // title: \"Popover\",\r\n // page: \"/ngbootstrap/popover\",\r\n // },\r\n // {\r\n // title: \"Progressbar\",\r\n // page: \"/ngbootstrap/progressbar\",\r\n // },\r\n // {\r\n // title: \"Rating\",\r\n // page: \"/ngbootstrap/rating\",\r\n // },\r\n // {\r\n // title: \"Tabs\",\r\n // page: \"/ngbootstrap/tabs\",\r\n // },\r\n // {\r\n // title: \"Timepicker\",\r\n // page: \"/ngbootstrap/timepicker\",\r\n // },\r\n // {\r\n // title: \"Tooltips\",\r\n // page: \"/ngbootstrap/tooltip\",\r\n // },\r\n // {\r\n // title: \"Typehead\",\r\n // page: \"/ngbootstrap/typehead\",\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Applications\",\r\n // root: true,\r\n // alignment: \"left\",\r\n // toggle: \"click\",\r\n // submenu: [\r\n // {\r\n // title: \"eCommerce\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-business\",\r\n // permission: \"accessToECommerceModule\",\r\n // submenu: [\r\n // {\r\n // title: \"Customers\",\r\n // page: \"/ecommerce/customers\",\r\n // },\r\n // {\r\n // title: \"Products\",\r\n // page: \"/ecommerce/products\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"User Management\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-user\",\r\n // submenu: [\r\n // {\r\n // title: \"Users\",\r\n // page: \"/user-management/users\",\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n ],\r\n },\r\n aside: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboard\",\r\n root: true,\r\n icon: \"flaticon2-architecture-and-city\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n bullet: \"dot\",\r\n },\r\n { section: \"Applications\" },\r\n\r\n {\r\n title: \"User Managements\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \"flaticon2-user-outline-symbol\",\r\n submenu: [\r\n {\r\n title: \"Users\",\r\n page: \"/user-management/users\",\r\n },\r\n {\r\n title: \"My Profile\",\r\n page: \"/user-management/user-profile\",\r\n },\r\n {\r\n title: \"Roles and permisssions\",\r\n page: \"/user-management/roles\",\r\n },\r\n ],\r\n },\r\n {\r\n title: \"Settings\",\r\n root: true,\r\n icon: \"fas fa-cog\",\r\n submenu: [\r\n {\r\n title: \"Drones\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \"fas fa-rocket\",\r\n page: \"/drones\",\r\n },\r\n {\r\n title: \"Drone Pilots\",\r\n root: true,\r\n bullet: \"dot\",\r\n page: \"/drone-pilots\",\r\n icon: \"fas fa-user-friends\",\r\n },\r\n {\r\n title: \"Materials\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \" fas fa-spray-can\",\r\n page: \"/materials\",\r\n },\r\n {\r\n title: \"Protocols\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \" fas fa-tasks\",\r\n page: \"/protocols\",\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Operations\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \"flaticon2-layers-2\",\r\n submenu: [\r\n {\r\n title: \"Tasks\",\r\n bullet: \"dot\",\r\n submenu: [\r\n {\r\n title: \"Tasks List\",\r\n page: \"/tasks/list\",\r\n },\r\n {\r\n title: \"Planning Tool\",\r\n page: \"/tasks/map\",\r\n },\r\n {\r\n title: \"Task Control\",\r\n page: \"/tasks/controller\",\r\n },\r\n {\r\n title: \"Completed tasks\",\r\n page: \"/tasks/completed\",\r\n },\r\n ],\r\n },\r\n {\r\n title: \"Customers\",\r\n bullet: \"dot\",\r\n page: \"/customers\",\r\n },\r\n {\r\n title: \"Fields\",\r\n bullet: \"dot\",\r\n page: \"/fields\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n };\r\n\r\n public pilotMenu: any = {\r\n header: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboards\",\r\n root: true,\r\n alignment: \"left\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n },\r\n ],\r\n },\r\n aside: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboard\",\r\n root: true,\r\n icon: \"flaticon2-architecture-and-city\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n bullet: \"dot\",\r\n },\r\n {\r\n title: \"Daily tasks\",\r\n root: true,\r\n icon: \"fas fa-tasks\",\r\n page: \"/pilot-tasks/list\",\r\n bullet: \"dot\",\r\n },\r\n {\r\n title: \"My Profile\",\r\n page: \"/user-management/user-profile\",\r\n root: true,\r\n icon: \"flaticon2-user-outline-symbol\",\r\n },\r\n ],\r\n },\r\n };\r\n\r\n public getConfigs(role: RoleType): any {\r\n switch (role.name) {\r\n case \"Pilot\": {\r\n return this.pilotMenu;\r\n }\r\n }\r\n return this.defaults;\r\n }\r\n}\r\n","export class PageConfig {\r\n public defaults: any = {\r\n dashboard: {\r\n page: {\r\n title: 'Dashboard',\r\n desc: 'Latest updates and statistic charts'\r\n },\r\n },\r\n ngbootstrap: {\r\n accordion: {\r\n page: {title: 'Accordion', desc: ''}\r\n },\r\n alert: {\r\n page: {title: 'Alert', desc: ''}\r\n },\r\n buttons: {\r\n page: {title: 'Buttons', desc: ''}\r\n },\r\n carousel: {\r\n page: {title: 'Carousel', desc: ''}\r\n },\r\n collapse: {\r\n page: {title: 'Collapse', desc: ''}\r\n },\r\n datepicker: {\r\n page: {title: 'Datepicker', desc: ''}\r\n },\r\n dropdown: {\r\n page: {title: 'Dropdown', desc: ''}\r\n },\r\n modal: {\r\n page: {title: 'Modal', desc: ''}\r\n },\r\n pagination: {\r\n page: {title: 'Pagination', desc: ''}\r\n },\r\n popover: {\r\n page: {title: 'Popover', desc: ''}\r\n },\r\n progressbar: {\r\n page: {title: 'Progressbar', desc: ''}\r\n },\r\n rating: {\r\n page: {title: 'Rating', desc: ''}\r\n },\r\n tabs: {\r\n page: {title: 'Tabs', desc: ''}\r\n },\r\n timepicker: {\r\n page: {title: 'Timepicker', desc: ''}\r\n },\r\n tooltip: {\r\n page: {title: 'Tooltip', desc: ''}\r\n },\r\n typehead: {\r\n page: {title: 'Typehead', desc: ''}\r\n }\r\n },\r\n material: {\r\n // form controls\r\n 'form-controls': {\r\n autocomplete: {\r\n page: {title: 'Auto Complete', desc: ''}\r\n },\r\n checkbox: {\r\n page: {title: 'Checkbox', desc: ''}\r\n },\r\n datepicker: {\r\n page: {title: 'Datepicker', desc: ''}\r\n },\r\n radiobutton: {\r\n page: {title: 'Radio Button', desc: ''}\r\n },\r\n formfield: {\r\n page: {title: 'Form field', desc: ''}\r\n },\r\n input: {\r\n page: {title: 'Input', desc: ''}\r\n },\r\n select: {\r\n page: {title: 'Select', desc: ''}\r\n },\r\n slider: {\r\n page: {title: 'Slider', desc: ''}\r\n },\r\n slidertoggle: {\r\n page: {title: 'Slider Toggle', desc: ''}\r\n }\r\n },\r\n // navigation\r\n navigation: {\r\n menu: {\r\n page: {title: 'Menu', desc: ''}\r\n },\r\n sidenav: {\r\n page: {title: 'Sidenav', desc: ''}\r\n },\r\n toolbar: {\r\n page: {title: 'Toolbar', desc: ''}\r\n }\r\n },\r\n // layout\r\n layout: {\r\n card: {\r\n page: {title: 'Card', desc: ''}\r\n },\r\n divider: {\r\n page: {title: 'Divider', desc: ''}\r\n },\r\n 'expansion-panel': {\r\n page: {title: 'Expansion panel', desc: ''}\r\n },\r\n 'grid-list': {\r\n page: {title: 'Grid list', desc: ''}\r\n },\r\n list: {\r\n page: {title: 'List', desc: ''}\r\n },\r\n tabs: {\r\n page: {title: 'Tabs', desc: ''}\r\n },\r\n stepper: {\r\n page: {title: 'Stepper', desc: ''}\r\n },\r\n 'default-forms': {\r\n page: {title: 'Default Forms', desc: ''}\r\n },\r\n tree: {\r\n page: {title: 'Tree', desc: ''}\r\n },\r\n },\r\n // buttons & indicators\r\n 'buttons-and-indicators': {\r\n button: {\r\n page: {title: 'Button', desc: ''}\r\n },\r\n 'button-toggle': {\r\n page: {title: 'Button toggle', desc: ''}\r\n },\r\n chips: {\r\n page: {title: 'Chips', desc: ''}\r\n },\r\n icon: {\r\n page: {title: 'Icon', desc: ''}\r\n },\r\n 'progress-bar': {\r\n page: {title: 'Progress bar', desc: ''}\r\n },\r\n 'progress-spinner': {\r\n page: {title: 'Progress spinner', desc: ''}\r\n }\r\n },\r\n // popups & models\r\n 'popups-and-modals': {\r\n 'bottom-sheet': {\r\n page: {title: 'Bottom sheet', desc: ''}\r\n },\r\n dialog: {\r\n page: {title: 'Dialog', desc: ''}\r\n },\r\n snackbar: {\r\n page: {title: 'Snackbar', desc: ''}\r\n },\r\n tooltip: {\r\n page: {title: 'Tooltip', desc: ''}\r\n }\r\n },\r\n // Data tables\r\n 'data-table': {\r\n paginator: {\r\n page: {title: 'Paginator', desc: ''}\r\n },\r\n 'sort-header': {\r\n page: {title: 'Sort header', desc: ''}\r\n },\r\n table: {\r\n page: {title: 'Table', desc: ''}\r\n }\r\n }\r\n },\r\n forms: {\r\n page: {title: 'Forms', desc: ''}\r\n },\r\n mail: {\r\n page: {title: 'Mail', desc: 'Mail'}\r\n },\r\n ecommerce: {\r\n customers: {\r\n page: {title: 'Customers', desc: ''}\r\n },\r\n products: {\r\n edit: {\r\n page: {title: 'Edit product', desc: ''}\r\n },\r\n add: {\r\n page: {title: 'Create product', desc: ''}\r\n }\r\n },\r\n orders: {\r\n page: {title: 'Orders', desc: ''}\r\n }\r\n },\r\n 'user-management': {\r\n users: {\r\n page: {title: 'Users', desc: ''}\r\n },\r\n roles: {\r\n page: {title: 'Roles', desc: ''}\r\n }\r\n },\r\n builder: {\r\n page: {title: 'Layout Builder', desc: ''}\r\n },\r\n header: {\r\n actions: {\r\n page: {title: 'Actions', desc: 'Actions example page'}\r\n }\r\n },\r\n profile: {\r\n page: {title: 'User Profile', desc: ''}\r\n },\r\n error: {\r\n 404: {\r\n page: {title: '404 Not Found', desc: '', subheader: false}\r\n },\r\n 403: {\r\n page: {title: '403 Access Forbidden', desc: '', subheader: false}\r\n }\r\n },\r\n wizard: {\r\n 'wizard-1': {page: {title: 'Wizard 1', desc: ''}},\r\n 'wizard-2': {page: {title: 'Wizard 2', desc: ''}},\r\n 'wizard-3': {page: {title: 'Wizard 3', desc: ''}},\r\n 'wizard-4': {page: {title: 'Wizard 4', desc: ''}},\r\n },\r\n };\r\n\r\n public get configs(): any {\r\n return this.defaults;\r\n }\r\n}\r\n","import { Action } from '@ngrx/store';\r\nimport { User } from '../_models/user.model';\r\n\r\nexport enum AuthActionTypes {\r\n Login = '[Login] Action',\r\n Logout = '[Logout] Action',\r\n Register = '[Register] Action',\r\n UserRequested = '[Request User] Action',\r\n UserLoaded = '[Load User] Auth API'\r\n}\r\n\r\nexport class Login implements Action {\r\n readonly type = AuthActionTypes.Login;\r\n constructor(public payload: { authToken: string }) { }\r\n}\r\n\r\nexport class Logout implements Action {\r\n readonly type = AuthActionTypes.Logout;\r\n}\r\n\r\nexport class Register implements Action {\r\n readonly type = AuthActionTypes.Register;\r\n constructor(public payload: { authToken: string }) { }\r\n}\r\n\r\n\r\nexport class UserRequested implements Action {\r\n readonly type = AuthActionTypes.UserRequested;\r\n}\r\n\r\nexport class UserLoaded implements Action {\r\n readonly type = AuthActionTypes.UserLoaded;\r\n constructor(public payload: { user: User }) { }\r\n}\r\n\r\nexport type AuthActions = Login | Logout | Register | UserRequested | UserLoaded;\r\n","// NGRX\r\nimport { Action } from '@ngrx/store';\r\n// Models\r\nimport { Permission } from '../_models/permission.model';\r\n\r\nexport enum PermissionActionTypes {\r\n AllPermissionsRequested = '[Init] All Permissions Requested',\r\n AllPermissionsLoaded = '[Init] All Permissions Loaded'\r\n}\r\n\r\nexport class AllPermissionsRequested implements Action {\r\n readonly type = PermissionActionTypes.AllPermissionsRequested;\r\n}\r\n\r\nexport class AllPermissionsLoaded implements Action {\r\n readonly type = PermissionActionTypes.AllPermissionsLoaded;\r\n constructor(public payload: { permissions: Permission[] }) { }\r\n}\r\n\r\nexport type PermissionActions = AllPermissionsRequested | AllPermissionsLoaded;\r\n","// NGRX\r\nimport { Action } from '@ngrx/store';\r\nimport { Update } from '@ngrx/entity';\r\n// CRUD\r\nimport { QueryParamsModel } from '../../_base/crud';\r\n// Models\r\nimport { Role } from '../_models/role.model';\r\n\r\nexport enum RoleActionTypes {\r\n AllRolesRequested = '[Roles Home Page] All Roles Requested',\r\n AllRolesLoaded = '[Roles API] All Roles Loaded',\r\n RoleOnServerCreated = '[Edit Role Dialog] Role On Server Created',\r\n RoleCreated = '[Edit Roles Dialog] Roles Created',\r\n RoleUpdated = '[Edit Role Dialog] Role Updated',\r\n RoleDeleted = '[Roles List Page] Role Deleted',\r\n RolesPageRequested = '[Roles List Page] Roles Page Requested',\r\n RolesPageLoaded = '[Roles API] Roles Page Loaded',\r\n RolesPageCancelled = '[Roles API] Roles Page Cancelled',\r\n RolesPageToggleLoading = '[Roles page] Roles Page Toggle Loading',\r\n RolesActionToggleLoading = '[Roles] Roles Action Toggle Loading'\r\n}\r\n\r\nexport class RoleOnServerCreated implements Action {\r\n readonly type = RoleActionTypes.RoleOnServerCreated;\r\n constructor(public payload: { role: Role }) { }\r\n}\r\n\r\nexport class RoleCreated implements Action {\r\n readonly type = RoleActionTypes.RoleCreated;\r\n constructor(public payload: { role: Role }) { }\r\n}\r\n\r\nexport class RoleUpdated implements Action {\r\n readonly type = RoleActionTypes.RoleUpdated;\r\n constructor(public payload: {\r\n partialrole: Update,\r\n role: Role\r\n }) { }\r\n}\r\n\r\nexport class RoleDeleted implements Action {\r\n readonly type = RoleActionTypes.RoleDeleted;\r\n constructor(public payload: { id: number }) {}\r\n}\r\n\r\nexport class RolesPageRequested implements Action {\r\n readonly type = RoleActionTypes.RolesPageRequested;\r\n constructor(public payload: { page: QueryParamsModel }) { }\r\n}\r\n\r\nexport class RolesPageLoaded implements Action {\r\n readonly type = RoleActionTypes.RolesPageLoaded;\r\n constructor(public payload: { roles: Role[], totalCount: number, page: QueryParamsModel }) { }\r\n}\r\n\r\nexport class RolesPageCancelled implements Action {\r\n readonly type = RoleActionTypes.RolesPageCancelled;\r\n}\r\n\r\nexport class AllRolesRequested implements Action {\r\n readonly type = RoleActionTypes.AllRolesRequested;\r\n}\r\n\r\nexport class AllRolesLoaded implements Action {\r\n readonly type = RoleActionTypes.AllRolesLoaded;\r\n constructor(public payload: { roles: Role[] }) { }\r\n}\r\n\r\nexport class RolesPageToggleLoading implements Action {\r\n readonly type = RoleActionTypes.RolesPageToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport class RolesActionToggleLoading implements Action {\r\n readonly type = RoleActionTypes.RolesActionToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport type RoleActions = RoleCreated\r\n| RoleUpdated\r\n| RoleDeleted\r\n| RolesPageRequested\r\n| RolesPageLoaded\r\n| RolesPageCancelled\r\n| AllRolesLoaded\r\n| AllRolesRequested\r\n| RoleOnServerCreated\r\n| RolesPageToggleLoading\r\n| RolesActionToggleLoading;\r\n","// NGRX\r\nimport { Action } from '@ngrx/store';\r\nimport { Update } from '@ngrx/entity';\r\n// CRUD\r\nimport { User } from '../_models/user.model';\r\n// Models\r\nimport { QueryParamsModel } from '../../_base/crud';\r\n\r\nexport enum UserActionTypes {\r\n AllUsersRequested = '[Users Module] All Users Requested',\r\n AllUsersLoaded = '[Users API] All Users Loaded',\r\n UserOnServerCreated = '[Edit User Component] User On Server Created',\r\n UserCreated = '[Edit User Dialog] User Created',\r\n UserUpdated = '[Edit User Dialog] User Updated',\r\n UserDeleted = '[Users List Page] User Deleted',\r\n UsersPageRequested = '[Users List Page] Users Page Requested',\r\n UsersPageLoaded = '[Users API] Users Page Loaded',\r\n UsersPageCancelled = '[Users API] Users Page Cancelled',\r\n UsersPageToggleLoading = '[Users] Users Page Toggle Loading',\r\n UsersActionToggleLoading = '[Users] Users Action Toggle Loading'\r\n}\r\n\r\nexport class UserOnServerCreated implements Action {\r\n readonly type = UserActionTypes.UserOnServerCreated;\r\n constructor(public payload: { user: User }) { }\r\n}\r\n\r\nexport class UserCreated implements Action {\r\n readonly type = UserActionTypes.UserCreated;\r\n constructor(public payload: { user: User }) { }\r\n}\r\n\r\n\r\nexport class UserUpdated implements Action {\r\n readonly type = UserActionTypes.UserUpdated;\r\n constructor(public payload: {\r\n partialUser: Update,\r\n user: User\r\n }) { }\r\n}\r\n\r\nexport class UserDeleted implements Action {\r\n readonly type = UserActionTypes.UserDeleted;\r\n constructor(public payload: { id: number }) {}\r\n}\r\n\r\nexport class UsersPageRequested implements Action {\r\n readonly type = UserActionTypes.UsersPageRequested;\r\n constructor(public payload: { page: QueryParamsModel }) { }\r\n}\r\n\r\nexport class UsersPageLoaded implements Action {\r\n readonly type = UserActionTypes.UsersPageLoaded;\r\n constructor(public payload: { users: User[], totalCount: number, page: QueryParamsModel }) { }\r\n}\r\n\r\n\r\nexport class UsersPageCancelled implements Action {\r\n readonly type = UserActionTypes.UsersPageCancelled;\r\n}\r\n\r\nexport class UsersPageToggleLoading implements Action {\r\n readonly type = UserActionTypes.UsersPageToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport class UsersActionToggleLoading implements Action {\r\n readonly type = UserActionTypes.UsersActionToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport type UserActions = UserCreated\r\n| UserUpdated\r\n| UserDeleted\r\n| UserOnServerCreated\r\n| UsersPageLoaded\r\n| UsersPageCancelled\r\n| UsersPageToggleLoading\r\n| UsersPageRequested\r\n| UsersActionToggleLoading;\r\n","// RxJS\r\nimport { of } from 'rxjs';\r\nimport { catchError, finalize, tap, debounceTime, delay, distinctUntilChanged } from 'rxjs/operators';\r\n// NGRX\r\nimport { Store, select } from '@ngrx/store';\r\n// CRUD\r\nimport { BaseDataSource, QueryResultsModel } from '../../_base/crud';\r\n// State\r\nimport { AppState } from '../../../core/reducers';\r\n// Selectors\r\nimport { selectQueryResult, selectRolesPageLoading, selectRolesShowInitWaitingMessage } from '../_selectors/role.selectors';\r\n\r\nexport class RolesDataSource extends BaseDataSource {\r\n constructor(private store: Store) {\r\n super();\r\n\r\n this.loading$ = this.store.pipe(\r\n select(selectRolesPageLoading)\r\n );\r\n\r\n this.isPreloadTextViewed$ = this.store.pipe(\r\n select(selectRolesShowInitWaitingMessage)\r\n );\r\n\r\n this.store.pipe(\r\n select(selectQueryResult)\r\n ).subscribe((response: QueryResultsModel) => {\r\n this.paginatorTotalSubject.next(response.totalCount);\r\n this.entitySubject.next(response.items);\r\n });\r\n\r\n }\r\n}\r\n","// NGRX\r\nimport { Store, select } from '@ngrx/store';\r\n// CRUD\r\nimport { BaseDataSource, QueryResultsModel } from '../../_base/crud';\r\n// State\r\nimport { AppState } from '../../../core/reducers';\r\nimport { selectUsersInStore, selectUsersPageLoading, selectUsersShowInitWaitingMessage } from '../_selectors/user.selectors';\r\n\r\n\r\nexport class UsersDataSource extends BaseDataSource {\r\n constructor(private store: Store) {\r\n super();\r\n\r\n this.loading$ = this.store.pipe(\r\n select(selectUsersPageLoading)\r\n );\r\n\r\n this.isPreloadTextViewed$ = this.store.pipe(\r\n select(selectUsersShowInitWaitingMessage)\r\n );\r\n\r\n this.store.pipe(\r\n select(selectUsersInStore)\r\n ).subscribe((response: QueryResultsModel) => {\r\n this.paginatorTotalSubject.next(response.totalCount);\r\n this.entitySubject.next(response.items);\r\n });\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\n// RxJS\r\nimport { filter, mergeMap, tap, withLatestFrom } from \"rxjs/operators\";\r\nimport { defer, Observable, of } from \"rxjs\";\r\n// NGRX\r\nimport { Actions, Effect, ofType } from \"@ngrx/effects\";\r\nimport { Action, select, Store } from \"@ngrx/store\";\r\n// Auth actions\r\nimport {\r\n AuthActionTypes,\r\n Login,\r\n Logout,\r\n Register,\r\n UserLoaded,\r\n UserRequested,\r\n} from \"../_actions/auth.actions\";\r\nimport { AuthService } from \"../_services/index\";\r\nimport { AppState } from \"../../reducers\";\r\nimport { environment } from \"../../../../environments/environment\";\r\nimport { isUserLoaded } from \"../_selectors/auth.selectors\";\r\n\r\n@Injectable()\r\nexport class AuthEffects {\r\n @Effect({ dispatch: false })\r\n login$ = this.actions$.pipe(\r\n ofType(AuthActionTypes.Login),\r\n tap((action) => {\r\n localStorage.setItem(environment.authTokenKey, action.payload.authToken);\r\n this.store.dispatch(new UserRequested());\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n logout$ = this.actions$.pipe(\r\n ofType(AuthActionTypes.Logout),\r\n tap(() => {\r\n localStorage.removeItem(environment.authTokenKey);\r\n this.router.navigate([\"/auth/login\"], {\r\n queryParams: { returnUrl: this.returnUrl },\r\n });\r\n document.location.reload();\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n register$ = this.actions$.pipe(\r\n ofType(AuthActionTypes.Register),\r\n tap((action) => {\r\n localStorage.setItem(environment.authTokenKey, action.payload.authToken);\r\n })\r\n );\r\n\r\n // @Effect({dispatch: false})\r\n // loadUser$ = this.actions$\r\n // .pipe(\r\n // ofType(AuthActionTypes.UserRequested),\r\n // withLatestFrom(this.store.pipe(select(isUserLoaded))),\r\n // filter(([action, _isUserLoaded]) => !_isUserLoaded),\r\n // mergeMap(([action, _isUserLoaded]) => this.auth.getUserByToken()),\r\n // tap(_user => {\r\n // if (_user) {\r\n // this.store.dispatch(new UserLoaded({user: _user}));\r\n // } else {\r\n // this.store.dispatch(new Logout());\r\n // }\r\n // })\r\n // );\r\n\r\n @Effect()\r\n init$: Observable = defer(() => {\r\n const userToken = localStorage.getItem(environment.authTokenKey);\r\n let observableResult = of({ type: \"NO_ACTION\" });\r\n if (userToken) {\r\n observableResult = of(new Login({ authToken: userToken }));\r\n }\r\n return observableResult;\r\n });\r\n\r\n private returnUrl: string;\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private router: Router,\r\n private auth: AuthService,\r\n private store: Store\r\n ) {\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.returnUrl = event.url;\r\n }\r\n });\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { mergeMap, map, tap } from 'rxjs/operators';\r\nimport { defer, Observable, of } from 'rxjs';\r\n// NGRX\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\nimport { Action } from '@ngrx/store';\r\n// Services\r\nimport { AuthService } from '../_services';\r\n// Actions\r\nimport {\r\n AllPermissionsLoaded,\r\n AllPermissionsRequested,\r\n PermissionActionTypes\r\n} from '../_actions/permission.actions';\r\n// Models\r\nimport { Permission } from '../_models/permission.model';\r\n\r\n@Injectable()\r\nexport class PermissionEffects {\r\n // @Effect()\r\n // loadAllPermissions$ = this.actions$\r\n // .pipe(\r\n // ofType(PermissionActionTypes.AllPermissionsRequested),\r\n // mergeMap(() => this.auth.getAllPermissions()),\r\n // map((result: Permission[]) => {\r\n // return new AllPermissionsLoaded({\r\n // permissions: result\r\n // });\r\n // })\r\n // );\r\n\r\n // @Effect()\r\n // init$: Observable = defer(() => {\r\n // return of(new AllPermissionsRequested());\r\n // });\r\n\r\n // constructor(private actions$: Actions, private auth: AuthService) {\r\n // }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { of, Observable, defer, forkJoin } from 'rxjs';\r\nimport { mergeMap, map, withLatestFrom, filter, tap } from 'rxjs/operators';\r\n// NGRX\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\nimport { Store, select, Action } from '@ngrx/store';\r\n// CRUD\r\nimport { QueryResultsModel, QueryParamsModel } from '../../_base/crud';\r\n// Services\r\nimport { AuthService } from '../_services';\r\n// State\r\nimport { AppState } from '../../../core/reducers';\r\n// Selectors\r\nimport { allRolesLoaded } from '../_selectors/role.selectors';\r\n// Actions\r\nimport {\r\n AllRolesLoaded,\r\n AllRolesRequested,\r\n RoleActionTypes,\r\n RolesPageRequested,\r\n RolesPageLoaded,\r\n RoleUpdated,\r\n RolesPageToggleLoading,\r\n RoleDeleted,\r\n RoleOnServerCreated,\r\n RoleCreated,\r\n RolesActionToggleLoading\r\n} from '../_actions/role.actions';\r\n\r\n@Injectable()\r\nexport class RoleEffects {\r\n // showPageLoadingDistpatcher = new RolesPageToggleLoading({isLoading: true});\r\n // hidePageLoadingDistpatcher = new RolesPageToggleLoading({isLoading: false});\r\n\r\n // showActionLoadingDistpatcher = new RolesActionToggleLoading({isLoading: true});\r\n // hideActionLoadingDistpatcher = new RolesActionToggleLoading({isLoading: false});\r\n\r\n // @Effect()\r\n // loadAllRoles$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.AllRolesRequested),\r\n // withLatestFrom(this.store.pipe(select(allRolesLoaded))),\r\n // filter(([action, isAllRolesLoaded]) => !isAllRolesLoaded),\r\n // mergeMap(() => this.auth.getAllRoles()),\r\n // map(roles => {\r\n // return new AllRolesLoaded({roles});\r\n // })\r\n // );\r\n\r\n // @Effect()\r\n // loadRolesPage$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RolesPageRequested),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showPageLoadingDistpatcher);\r\n // const requestToServer = this.auth.findRoles(payload.page);\r\n // const lastQuery = of(payload.page);\r\n // return forkJoin(requestToServer, lastQuery);\r\n // }),\r\n // map(response => {\r\n // const result: QueryResultsModel = response[0];\r\n // const lastQuery: QueryParamsModel = response[1];\r\n // this.store.dispatch(this.hidePageLoadingDistpatcher);\r\n\r\n // return new RolesPageLoaded({\r\n // roles: result.items,\r\n // totalCount: result.totalCount,\r\n // page: lastQuery\r\n // });\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // deleteRole$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RoleDeleted),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.deleteRole(payload.id);\r\n // }\r\n // ),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // updateRole$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RoleUpdated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.updateRole(payload.role);\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n\r\n // @Effect()\r\n // createRole$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RoleOnServerCreated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.createRole(payload.role).pipe(\r\n // tap(res => {\r\n // this.store.dispatch(new RoleCreated({role: res}));\r\n // })\r\n // );\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // init$: Observable = defer(() => {\r\n // return of(new AllRolesRequested());\r\n // });\r\n\r\n // constructor(private actions$: Actions, private auth: AuthService, private store: Store) {\r\n // }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { mergeMap, map, tap } from \"rxjs/operators\";\r\nimport { Observable, defer, of, forkJoin } from \"rxjs\";\r\n// NGRX\r\nimport { Effect, Actions, ofType } from \"@ngrx/effects\";\r\nimport { Store, select, Action } from \"@ngrx/store\";\r\n// CRUD\r\nimport { QueryResultsModel, QueryParamsModel } from \"../../_base/crud\";\r\n// Services\r\nimport { AuthService } from \"../../../core/auth/_services\";\r\n// State\r\nimport { AppState } from \"../../../core/reducers\";\r\nimport {\r\n UserActionTypes,\r\n UsersPageRequested,\r\n UsersPageLoaded,\r\n UserCreated,\r\n UserDeleted,\r\n UserUpdated,\r\n UserOnServerCreated,\r\n UsersActionToggleLoading,\r\n UsersPageToggleLoading,\r\n} from \"../_actions/user.actions\";\r\n\r\n@Injectable()\r\nexport class UserEffects {\r\n // showPageLoadingDistpatcher = new UsersPageToggleLoading({isLoading: true});\r\n // hidePageLoadingDistpatcher = new UsersPageToggleLoading({isLoading: false});\r\n\r\n // showActionLoadingDistpatcher = new UsersActionToggleLoading({isLoading: true});\r\n // hideActionLoadingDistpatcher = new UsersActionToggleLoading({isLoading: false});\r\n\r\n // @Effect()\r\n // loadUsersPage$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UsersPageRequested),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showPageLoadingDistpatcher);\r\n // const requestToServer = this.auth.findUsers(payload.page);\r\n // const lastQuery = of(payload.page);\r\n // return forkJoin(requestToServer, lastQuery);\r\n // }),\r\n // map(response => {\r\n // const result: QueryResultsModel = response[0];\r\n // const lastQuery: QueryParamsModel = response[1];\r\n // return new UsersPageLoaded({\r\n // users: result.items,\r\n // totalCount: result.totalCount,\r\n // page: lastQuery\r\n // });\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // deleteUser$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UserDeleted),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.deleteUser(payload.id);\r\n // }\r\n // ),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // updateUser$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UserUpdated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.updateUser(payload.user);\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // createUser$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UserOnServerCreated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.createUser(payload.user).pipe(\r\n // tap(res => {\r\n // this.store.dispatch(new UserCreated({user: res}));\r\n // })\r\n // );\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private auth: AuthService,\r\n private store: Store\r\n ) {}\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n// NGRX\r\nimport { select, Store } from '@ngrx/store';\r\n// Auth reducers and selectors\r\nimport { AppState} from '../../../core/reducers/';\r\nimport { isLoggedIn } from '../../store/selectors/auth.selectors';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private store: Store, private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.store\r\n .pipe(\r\n select(isLoggedIn),\r\n tap(loggedIn => {\r\n if (!loggedIn) {\r\n this.router.navigateByUrl('/auth/login');\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { NgxPermissionsService } from \"ngx-permissions\";\r\n// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n CanActivateChild,\r\n Router,\r\n RouterStateSnapshot,\r\n} from \"@angular/router\";\r\n// RxJS\r\nimport { Observable, of, pipe } from \"rxjs\";\r\nimport { tap, map, withLatestFrom, filter, concatMap } from \"rxjs/operators\";\r\n// NGRX\r\nimport { select, Store } from \"@ngrx/store\";\r\n// Module reducers and selectors\r\nimport { AppState } from \"../../../core/reducers/\";\r\nimport {\r\n currentUserPermissions,\r\n currentUser,\r\n} from \"../_selectors/auth.selectors\";\r\nimport { Permission } from \"../_models/permission.model\";\r\nimport { find } from \"lodash\";\r\n\r\n@Injectable()\r\nexport class ChildModuleGuard implements CanActivateChild {\r\n constructor(private store: Store, private router: Router) {}\r\n\r\n canActivateChild(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable {\r\n const permission = route.data.permissions.only;\r\n const redirectTo = route.data.permissions.redirectTo;\r\n\r\n return this.store.pipe(\r\n select(currentUser),\r\n filter((v) => v != null),\r\n concatMap((user) => {\r\n let hasAccess = user.roleType.name == permission;\r\n if (!hasAccess) {\r\n this.router.navigateByUrl(\"/\" + redirectTo);\r\n }\r\n\r\n return of(hasAccess);\r\n })\r\n );\r\n }\r\n}\r\n","import { NgxPermissionsService } from \"ngx-permissions\";\r\n// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from \"@angular/router\";\r\n// RxJS\r\nimport { Observable, of, pipe } from \"rxjs\";\r\nimport { tap, map, withLatestFrom, filter, concatMap } from \"rxjs/operators\";\r\n// NGRX\r\nimport { select, Store } from \"@ngrx/store\";\r\n// Module reducers and selectors\r\nimport { AppState } from \"../../../core/reducers/\";\r\nimport {\r\n currentUserPermissions,\r\n currentUser,\r\n} from \"../_selectors/auth.selectors\";\r\nimport { Permission } from \"../_models/permission.model\";\r\nimport { find } from \"lodash\";\r\n\r\n@Injectable()\r\nexport class ModuleGuard implements CanActivate {\r\n constructor(private store: Store, private router: Router) {}\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable {\r\n const permission = route.data.permissions.only;\r\n const redirectTo = route.data.permissions.redirectTo;\r\n\r\n if (permission == \"Everyone\") {\r\n return of(true);\r\n }\r\n\r\n return this.store.pipe(\r\n select(currentUser),\r\n filter((v) => v != null),\r\n concatMap((user) => {\r\n let hasAccess = user.roleType.name == permission;\r\n if (!hasAccess) {\r\n this.router.navigateByUrl(\"/\" + redirectTo);\r\n }\r\n\r\n return of(hasAccess);\r\n })\r\n );\r\n }\r\n}\r\n","export class Address {\r\n addressLine: string;\r\n city: string;\r\n state: string;\r\n postCode: string;\r\n\r\n clear() {\r\n this.addressLine = '';\r\n this.city = '';\r\n this.state = '';\r\n this.postCode = '';\r\n }\r\n}\r\n","import { BaseModel } from '../../_base/crud';\r\n\r\nexport class Permission extends BaseModel {\r\n id: number;\r\n title: string;\r\n level: number;\r\n parentId: number;\r\n isSelected: boolean;\r\n name: string;\r\n // tslint:disable-next-line\r\n _children: Permission[];\r\n\r\n clear(): void {\r\n this.id = undefined;\r\n this.title = '';\r\n this.level = 1;\r\n this.parentId = undefined;\r\n this.isSelected = false;\r\n this.name = '';\r\n this._children = [];\r\n }\r\n}\r\n","import { BaseModel } from '../../_base/crud';\r\n\r\nexport class Role extends BaseModel {\r\n id: number;\r\n title: string;\r\n permissions: number[];\r\n isCoreRole = false;\r\n\r\n clear(): void {\r\n this.id = undefined;\r\n this.title = '';\r\n this.permissions = [];\r\n this.isCoreRole = false;\r\n }\r\n}\r\n","export class SocialNetworks {\r\n linkedIn: string;\r\n facebook: string;\r\n twitter: string;\r\n instagram: string;\r\n\r\n clear() {\r\n this.linkedIn = '';\r\n this.facebook = '';\r\n this.twitter = '';\r\n this.instagram = '';\r\n }\r\n}\r\n","import { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { RoleType } from \"./role-type.model\";\r\nimport { BaseModel } from \"../../_base/crud\";\r\nimport { Address } from \"./address.model\";\r\nimport { SocialNetworks } from \"./social-networks.model\";\r\nimport { Customer } from \"../../models/customer.model\";\r\n\r\nexport class User extends BaseModel {\r\n userId: number;\r\n username: string;\r\n password: string;\r\n email: string;\r\n accessToken: string;\r\n refreshToken: string;\r\n phone: string;\r\n roleType: RoleType;\r\n customer: Customer;\r\n pilot?: DronePilot;\r\n viewFromAnyDate?: Boolean;\r\n\r\n // use this in the future maybe\r\n roles: number[];\r\n\r\n clear(): void {\r\n this.userId = undefined;\r\n this.username = \"\";\r\n this.password = \"\";\r\n this.email = \"\";\r\n this.roles = [];\r\n // this.fullname = '';\r\n this.accessToken = \"access-token-\" + Math.random();\r\n this.refreshToken = \"access-token-\" + Math.random();\r\n // this.pic = './assets/media/users/default.jpg';\r\n // this.occupation = '';\r\n // this.companyName = '';\r\n this.phone = \"\";\r\n // this.address = new Address();\r\n // this.address.clear();\r\n // this.socialNetworks = new SocialNetworks();\r\n // this.socialNetworks.clear();\r\n }\r\n\r\n static createEmpty(): User {\r\n return new User();\r\n }\r\n static parseBack(user: User): object {\r\n return {\r\n username: user.username,\r\n email: user.email,\r\n roleTypeId: user.roleType?.roleTypeId,\r\n phone: user.phone,\r\n password: user.password,\r\n customerId: user.customer?.customerId,\r\n pilotId: user.pilot?.pilotId,\r\n viewTasksFromAnyDateForPilot: user.viewFromAnyDate,\r\n };\r\n }\r\n\r\n static parse(obj: any) {\r\n const roleType = JSON.parse(JSON.stringify(obj.RoleType));\r\n const pilot = DronePilot.parse(obj.Pilot) ?? {};\r\n const user = new User();\r\n user.userId = obj.userId;\r\n user.username = obj.username;\r\n user.email = obj.email;\r\n user.phone = obj.phone;\r\n user.roleType = roleType;\r\n user.password = obj.password;\r\n user.pilot = pilot;\r\n user.viewFromAnyDate = obj.viewTasksFromAnyDateForPilot;\r\n user.customer = obj.Customer ?? {};\r\n\r\n return user;\r\n }\r\n}\r\n","// Actions\r\nimport { AuthActions, AuthActionTypes } from '../_actions/auth.actions';\r\n// Models\r\nimport { User } from '../_models/user.model';\r\n\r\nexport interface AuthState {\r\n loggedIn: boolean;\r\n authToken: string;\r\n user: User;\r\n isUserLoaded: boolean;\r\n}\r\n\r\nexport const initialAuthState: AuthState = {\r\n loggedIn: false,\r\n authToken: undefined,\r\n user: undefined,\r\n isUserLoaded: false\r\n};\r\n\r\nexport function authReducer(state = initialAuthState, action: AuthActions): AuthState {\r\n switch (action.type) {\r\n case AuthActionTypes.Login: {\r\n const token: string = action.payload.authToken;\r\n return {\r\n loggedIn: true,\r\n authToken: token,\r\n user: undefined,\r\n isUserLoaded: false\r\n };\r\n }\r\n\r\n case AuthActionTypes.Register: {\r\n const token: string = action.payload.authToken;\r\n return {\r\n loggedIn: true,\r\n authToken: token,\r\n user: undefined,\r\n isUserLoaded: false\r\n };\r\n }\r\n\r\n case AuthActionTypes.Logout:\r\n return initialAuthState;\r\n\r\n case AuthActionTypes.UserLoaded: {\r\n const user: User = action.payload.user;\r\n return {\r\n ...state,\r\n user,\r\n isUserLoaded: true\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","// NGRX\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\r\nimport { createFeatureSelector } from '@ngrx/store';\r\n// Actions\r\nimport { PermissionActionTypes, PermissionActions } from '../_actions/permission.actions';\r\n// Models\r\nimport { Permission } from '../_models/permission.model';\r\n\r\nexport interface PermissionsState extends EntityState {\r\n _isAllPermissionsLoaded: boolean;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter();\r\n\r\nexport const initialPermissionsState: PermissionsState = adapter.getInitialState({\r\n _isAllPermissionsLoaded: false\r\n});\r\n\r\nexport function permissionsReducer(state = initialPermissionsState, action: PermissionActions): PermissionsState {\r\n switch (action.type) {\r\n case PermissionActionTypes.AllPermissionsRequested:\r\n return {\r\n ...state,\r\n _isAllPermissionsLoaded: false\r\n };\r\n case PermissionActionTypes.AllPermissionsLoaded:\r\n return adapter.addAll(action.payload.permissions, {\r\n ...state,\r\n _isAllPermissionsLoaded: true\r\n });\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getRoleState = createFeatureSelector('permissions');\r\n\r\nexport const {\r\n selectAll,\r\n selectEntities,\r\n selectIds,\r\n selectTotal\r\n} = adapter.getSelectors();\r\n","// NGRX\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\r\n// Actions\r\nimport { RoleActions, RoleActionTypes } from '../_actions/role.actions';\r\n// Models\r\nimport { Role } from '../_models/role.model';\r\nimport { QueryParamsModel } from '../../_base/crud';\r\n\r\nexport interface RolesState extends EntityState {\r\n isAllRolesLoaded: boolean;\r\n queryRowsCount: number;\r\n queryResult: Role[];\r\n lastCreatedRoleId: number;\r\n listLoading: boolean;\r\n actionsloading: boolean;\r\n lastQuery: QueryParamsModel;\r\n showInitWaitingMessage: boolean;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter();\r\n\r\nexport const initialRolesState: RolesState = adapter.getInitialState({\r\n isAllRolesLoaded: false,\r\n queryRowsCount: 0,\r\n queryResult: [],\r\n lastCreatedRoleId: undefined,\r\n listLoading: false,\r\n actionsloading: false,\r\n lastQuery: new QueryParamsModel({}),\r\n showInitWaitingMessage: true\r\n});\r\n\r\nexport function rolesReducer(state = initialRolesState, action: RoleActions): RolesState {\r\n switch (action.type) {\r\n case RoleActionTypes.RolesPageToggleLoading:\r\n return {\r\n ...state, listLoading: action.payload.isLoading, lastCreatedRoleId: undefined\r\n };\r\n case RoleActionTypes.RolesActionToggleLoading:\r\n return {\r\n ...state, actionsloading: action.payload.isLoading\r\n };\r\n case RoleActionTypes.RoleOnServerCreated:\r\n return {\r\n ...state\r\n };\r\n case RoleActionTypes.RoleCreated:\r\n return adapter.addOne(action.payload.role, {\r\n ...state, lastCreatedRoleId: action.payload.role.id\r\n });\r\n case RoleActionTypes.RoleUpdated:\r\n return adapter.updateOne(action.payload.partialrole, state);\r\n case RoleActionTypes.RoleDeleted:\r\n return adapter.removeOne(action.payload.id, state);\r\n case RoleActionTypes.AllRolesLoaded:\r\n return adapter.addAll(action.payload.roles, {\r\n ...state, isAllRolesLoaded: true\r\n });\r\n case RoleActionTypes.RolesPageCancelled:\r\n return {\r\n ...state, listLoading: false, queryRowsCount: 0, queryResult: [], lastQuery: new QueryParamsModel({})\r\n };\r\n case RoleActionTypes.RolesPageLoaded:\r\n return adapter.addMany(action.payload.roles, {\r\n ...initialRolesState,\r\n listLoading: false,\r\n queryRowsCount: action.payload.totalCount,\r\n queryResult: action.payload.roles,\r\n lastQuery: action.payload.page,\r\n showInitWaitingMessage: false\r\n });\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const {\r\n selectAll,\r\n selectEntities,\r\n selectIds,\r\n selectTotal\r\n} = adapter.getSelectors();\r\n","// NGRX\r\nimport { createFeatureSelector } from \"@ngrx/store\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\n// Actions\r\nimport { UserActions, UserActionTypes } from \"../_actions/user.actions\";\r\n// CRUD\r\nimport { QueryParamsModel } from \"../../_base/crud\";\r\n// Models\r\nimport { User } from \"../_models/user.model\";\r\n\r\n// tslint:disable-next-line:no-empty-interface\r\nexport interface UsersState extends EntityState {\r\n listLoading: boolean;\r\n actionsloading: boolean;\r\n totalCount: number;\r\n lastCreatedUserId: number;\r\n lastQuery: QueryParamsModel;\r\n showInitWaitingMessage: boolean;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter();\r\n\r\nexport const initialUsersState: UsersState = adapter.getInitialState({\r\n listLoading: false,\r\n actionsloading: false,\r\n totalCount: 0,\r\n lastQuery: new QueryParamsModel({}),\r\n lastCreatedUserId: undefined,\r\n showInitWaitingMessage: true,\r\n});\r\n\r\nexport function usersReducer(\r\n state = initialUsersState,\r\n action: UserActions\r\n): UsersState {\r\n switch (action.type) {\r\n case UserActionTypes.UsersPageToggleLoading:\r\n return {\r\n ...state,\r\n listLoading: action.payload.isLoading,\r\n lastCreatedUserId: undefined,\r\n };\r\n case UserActionTypes.UsersActionToggleLoading:\r\n return {\r\n ...state,\r\n actionsloading: action.payload.isLoading,\r\n };\r\n case UserActionTypes.UserOnServerCreated:\r\n return {\r\n ...state,\r\n };\r\n case UserActionTypes.UserCreated:\r\n return adapter.addOne(action.payload.user, {\r\n ...state,\r\n lastCreatedUserId: action.payload.user.userId,\r\n });\r\n case UserActionTypes.UserUpdated:\r\n return adapter.updateOne(action.payload.partialUser, state);\r\n case UserActionTypes.UserDeleted:\r\n return adapter.removeOne(action.payload.id, state);\r\n case UserActionTypes.UsersPageCancelled:\r\n return {\r\n ...state,\r\n listLoading: false,\r\n lastQuery: new QueryParamsModel({}),\r\n };\r\n case UserActionTypes.UsersPageLoaded: {\r\n return adapter.addMany(action.payload.users, {\r\n ...initialUsersState,\r\n totalCount: action.payload.totalCount,\r\n lastQuery: action.payload.page,\r\n listLoading: false,\r\n showInitWaitingMessage: false,\r\n });\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getUserState = createFeatureSelector(\"users\");\r\n\r\nexport const {\r\n selectAll,\r\n selectEntities,\r\n selectIds,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { createSelector } from \"@ngrx/store\";\r\n// Lodash\r\nimport { each, find, some } from \"lodash\";\r\n// Selectors\r\nimport { selectAllRoles } from \"./role.selectors\";\r\nimport { selectAllPermissions } from \"./permission.selectors\";\r\n// Models\r\nimport { Role } from \"../_models/role.model\";\r\nimport { Permission } from \"../_models/permission.model\";\r\n\r\nexport const selectAuthState = (state) => state.auth;\r\n\r\nexport const isLoggedIn = createSelector(\r\n selectAuthState,\r\n (auth) => auth.loggedIn\r\n);\r\n\r\nexport const isLoggedOut = createSelector(isLoggedIn, (loggedIn) => !loggedIn);\r\n\r\nexport const currentAuthToken = createSelector(\r\n selectAuthState,\r\n (auth) => auth.authToken\r\n);\r\n\r\nexport const isUserLoaded = createSelector(\r\n selectAuthState,\r\n (auth) => auth.isUserLoaded\r\n);\r\n\r\nexport const currentUser = createSelector(\r\n selectAuthState,\r\n (auth) => auth.currentUser\r\n);\r\n\r\nexport const currentUserRoleIds = createSelector(currentUser, (user) => {\r\n if (!user) {\r\n return [];\r\n }\r\n\r\n return user.roles;\r\n});\r\n\r\nexport const currentUserPermissionsIds = createSelector(\r\n currentUserRoleIds,\r\n selectAllRoles,\r\n (userRoleIds: number[], allRoles: Role[]) => {\r\n return getPermissionsIdsFrom(userRoleIds, allRoles);\r\n }\r\n);\r\n\r\nexport const checkHasUserPermission = (permissionId: number) =>\r\n createSelector(currentUserPermissionsIds, (ids: number[]) => {\r\n return ids.some((id) => id === permissionId);\r\n });\r\n\r\nexport const currentUserPermissions = createSelector(\r\n currentUserPermissionsIds,\r\n selectAllPermissions,\r\n (permissionIds: number[], allPermissions: Permission[]) => {\r\n const result: Permission[] = [];\r\n each(permissionIds, (id) => {\r\n const userPermission = find(allPermissions, (elem) => elem.id === id);\r\n if (userPermission) {\r\n result.push(userPermission);\r\n }\r\n });\r\n return result;\r\n }\r\n);\r\n\r\nfunction getPermissionsIdsFrom(\r\n userRolesIds: number[] = [],\r\n allRoles: Role[] = []\r\n): number[] {\r\n const userRoles: Role[] = [];\r\n each(userRolesIds, (id: number) => {\r\n const userRole = find(allRoles, (role: Role) => role.id === id);\r\n if (userRole) {\r\n userRoles.push(userRole);\r\n }\r\n });\r\n\r\n const result: number[] = [];\r\n each(userRoles, (role: Role) => {\r\n each(role.permissions, (id) => {\r\n if (!some(result, (gid) => gid === id)) {\r\n result.push(id);\r\n }\r\n });\r\n });\r\n return result;\r\n}\r\n","// NGRX\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\n// State\r\nimport { PermissionsState } from '../_reducers/permission.reducers';\r\nimport * as fromPermissions from '../_reducers/permission.reducers';\r\n\r\nexport const selectPermissionsState = createFeatureSelector('permissions');\r\n\r\nexport const selectPermissionById = (permissionId: number) => createSelector(\r\n selectPermissionsState,\r\n ps => ps.entities[permissionId]\r\n);\r\n\r\nexport const selectAllPermissions = createSelector(\r\n selectPermissionsState,\r\n fromPermissions.selectAll\r\n);\r\n\r\nexport const selectAllPermissionsIds = createSelector(\r\n selectPermissionsState,\r\n fromPermissions.selectIds\r\n);\r\n\r\nexport const allPermissionsLoaded = createSelector(\r\n selectPermissionsState,\r\n ps => ps._isAllPermissionsLoaded\r\n);\r\n","import { Role } from './../_models/role.model';\r\n\r\n// NGRX\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\n// CRUD\r\nimport { QueryResultsModel, HttpExtenstionsModel } from '../../_base/crud';\r\n// State\r\nimport { RolesState } from '../_reducers/role.reducers';\r\nimport * as fromRole from '../_reducers/role.reducers';\r\nimport { each } from 'lodash';\r\n\r\nexport const selectRolesState = createFeatureSelector('roles');\r\n\r\nexport const selectRoleById = (roleId: number) => createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.entities[roleId]\r\n);\r\n\r\nexport const selectAllRoles = createSelector(\r\n selectRolesState,\r\n fromRole.selectAll\r\n);\r\n\r\nexport const selectAllRolesIds = createSelector(\r\n selectRolesState,\r\n fromRole.selectIds\r\n);\r\n\r\nexport const allRolesLoaded = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.isAllRolesLoaded\r\n);\r\n\r\n\r\nexport const selectRolesPageLoading = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.listLoading\r\n);\r\n\r\nexport const selectRolesActionLoading = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.actionsloading\r\n);\r\n\r\nexport const selectLastCreatedRoleId = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.lastCreatedRoleId\r\n);\r\n\r\nexport const selectRolesShowInitWaitingMessage = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.showInitWaitingMessage\r\n);\r\n\r\n\r\nexport const selectQueryResult = createSelector(\r\n selectRolesState,\r\n rolesState => {\r\n const items: Role[] = [];\r\n each(rolesState.entities, element => {\r\n items.push(element);\r\n });\r\n const httpExtension = new HttpExtenstionsModel();\r\n const result: Role[] = httpExtension.sortArray(items, rolesState.lastQuery.sortField, rolesState.lastQuery.sortOrder);\r\n return new QueryResultsModel(rolesState.queryResult, rolesState.queryRowsCount);\r\n }\r\n);\r\n","// NGRX\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\n// CRUD\r\nimport { QueryResultsModel, HttpExtenstionsModel } from '../../_base/crud';\r\n// State\r\nimport { UsersState } from '../_reducers/user.reducers';\r\nimport { each } from 'lodash';\r\nimport { User } from '../_models/user.model';\r\n\r\nexport const selectUsersState = createFeatureSelector('users');\r\n\r\nexport const selectUserById = (userId: number) => createSelector(\r\n selectUsersState,\r\n usersState => usersState.entities[userId]\r\n);\r\n\r\nexport const selectUsersPageLoading = createSelector(\r\n selectUsersState,\r\n usersState => {\r\n return usersState.listLoading;\r\n }\r\n);\r\n\r\nexport const selectUsersActionLoading = createSelector(\r\n selectUsersState,\r\n usersState => usersState.actionsloading\r\n);\r\n\r\nexport const selectLastCreatedUserId = createSelector(\r\n selectUsersState,\r\n usersState => usersState.lastCreatedUserId\r\n);\r\n\r\nexport const selectUsersPageLastQuery = createSelector(\r\n selectUsersState,\r\n usersState => usersState.lastQuery\r\n);\r\n\r\nexport const selectUsersInStore = createSelector(\r\n selectUsersState,\r\n usersState => {\r\n const items: User[] = [];\r\n each(usersState.entities, element => {\r\n items.push(element);\r\n });\r\n const httpExtension = new HttpExtenstionsModel();\r\n const result: User[] = httpExtension.sortArray(items, usersState.lastQuery.sortField, usersState.lastQuery.sortOrder);\r\n return new QueryResultsModel(result, usersState.totalCount, '');\r\n }\r\n);\r\n\r\nexport const selectUsersShowInitWaitingMessage = createSelector(\r\n selectUsersState,\r\n usersState => usersState.showInitWaitingMessage\r\n);\r\n\r\nexport const selectHasUsersInStore = createSelector(\r\n selectUsersState,\r\n queryResult => {\r\n if (!queryResult.totalCount) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n);\r\n","import { UsersTable } from './users.table';\r\nimport { PermissionsTable } from './permissions.table';\r\nimport { RolesTable } from './roles.table';\r\n\r\n// Wrapper class\r\nexport class AuthDataContext {\r\n public static users: any = UsersTable.users;\r\n public static roles: any = RolesTable.roles;\r\n public static permissions = PermissionsTable.permissions;\r\n}\r\n","export class PermissionsTable {\r\n public static permissions: any = [\r\n {\r\n id: 1,\r\n name: 'accessToECommerceModule',\r\n level: 1,\r\n title: 'eCommerce module'\r\n },\r\n {\r\n id: 2,\r\n name: 'accessToAuthModule',\r\n level: 1,\r\n title: 'Users Management module'\r\n },\r\n {\r\n id: 3,\r\n name: 'accessToMailModule',\r\n level: 1,\r\n title: 'Mail module'\r\n },\r\n {\r\n id: 4,\r\n name: 'canReadECommerceData',\r\n level: 2,\r\n parentId: 1,\r\n title: 'Read'\r\n },\r\n {\r\n id: 5,\r\n name: 'canEditECommerceData',\r\n level: 2,\r\n parentId: 1,\r\n title: 'Edit'\r\n },\r\n {\r\n id: 6,\r\n name: 'canDeleteECommerceData',\r\n level: 2,\r\n parentId: 1,\r\n title: 'Delete'\r\n },\r\n {\r\n id: 7,\r\n name: 'canReadAuthData',\r\n level: 2,\r\n parentId: 2,\r\n title: 'Read'\r\n },\r\n {\r\n id: 8,\r\n name: 'canEditAuthData',\r\n level: 2,\r\n parentId: 2,\r\n title: 'Edit'\r\n },\r\n {\r\n id: 9,\r\n name: 'canDeleteAuthData',\r\n level: 2,\r\n parentId: 2,\r\n title: 'Delete'\r\n },\r\n {\r\n id: 10,\r\n name: 'canReadMailData',\r\n level: 2,\r\n parentId: 3,\r\n title: 'Read'\r\n },\r\n {\r\n id: 11,\r\n name: 'canEditMailData',\r\n level: 2,\r\n parentId: 3,\r\n title: 'Edit'\r\n },\r\n {\r\n id: 12,\r\n name: 'canDeleteMailData',\r\n level: 2,\r\n parentId: 3,\r\n title: 'Delete'\r\n },\r\n ];\r\n}\r\n","export class RolesTable {\r\n public static roles: any = [\r\n {\r\n id: 1,\r\n title: 'Administrator',\r\n isCoreRole: true,\r\n permissions: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\r\n },\r\n {\r\n id: 2,\r\n title: 'Manager',\r\n isCoreRole: false,\r\n permissions: [3, 4, 10]\r\n },\r\n {\r\n id: 3,\r\n title: 'Guest',\r\n isCoreRole: false,\r\n permissions: []\r\n }\r\n ];\r\n}\r\n","export class UsersTable {\r\n public static users: any = [\r\n {\r\n id: 1,\r\n username: 'omri',\r\n password: '123456',\r\n email: 'omri@agridrones.co.il',\r\n accessToken: 'access-token-8f3ae836da744329a6f93bf20594b5cc',\r\n refreshToken: 'access-token-f8c137a2c98743f48b643e71161d90aa',\r\n roles: [1], // Administrator\r\n pic: './assets/media/users/omri-pic.png',\r\n fullname: 'Omri',\r\n occupation: 'CEO',\r\n companyName: 'AgriDrones',\r\n phone: '456669067890',\r\n address: {\r\n addressLine: 'L-12-20 Vertex, Cybersquare',\r\n city: 'San Francisco',\r\n state: 'California',\r\n postCode: '45000'\r\n },\r\n socialNetworks: {\r\n linkedIn: 'https://linkedin.com/admin',\r\n facebook: 'https://facebook.com/admin',\r\n twitter: 'https://twitter.com/admin',\r\n instagram: 'https://instagram.com/admin'\r\n }\r\n },\r\n {\r\n id: 2,\r\n username: 'user',\r\n password: 'demo',\r\n email: 'user@demo.com',\r\n accessToken: 'access-token-6829bba69dd3421d8762-991e9e806dbf',\r\n refreshToken: 'access-token-f8e4c61a318e4d618b6c199ef96b9e55',\r\n roles: [2], // Manager\r\n pic: './assets/media/users/100_2.jpg',\r\n fullname: 'Megan',\r\n occupation: 'Deputy Head of Keenthemes in New York office',\r\n companyName: 'Keenthemes',\r\n phone: '456669067891',\r\n address: {\r\n addressLine: '3487 Ingram Road',\r\n city: 'Greensboro',\r\n state: 'North Carolina',\r\n postCode: '27409'\r\n },\r\n socialNetworks: {\r\n linkedIn: 'https://linkedin.com/user',\r\n facebook: 'https://facebook.com/user',\r\n twitter: 'https://twitter.com/user',\r\n instagram: 'https://instagram.com/user'\r\n }\r\n },\r\n {\r\n id: 3,\r\n username: 'guest',\r\n password: 'demo',\r\n email: 'guest@demo.com',\r\n accessToken: 'access-token-d2dff7b82f784de584b60964abbe45b9',\r\n refreshToken: 'access-token-c999ccfe74aa40d0aa1a64c5e620c1a5',\r\n roles: [3], // Guest\r\n pic: './assets/media/users/default.jpg',\r\n fullname: 'Ginobili Maccari',\r\n occupation: 'CFO',\r\n companyName: 'Keenthemes',\r\n phone: '456669067892',\r\n address: {\r\n addressLine: '1467 Griffin Street',\r\n city: 'Phoenix',\r\n state: 'Arizona',\r\n postCode: '85012'\r\n },\r\n socialNetworks: {\r\n linkedIn: 'https://linkedin.com/guest',\r\n facebook: 'https://facebook.com/guest',\r\n twitter: 'https://twitter.com/guest',\r\n instagram: 'https://instagram.com/guest'\r\n }\r\n }\r\n ];\r\n\r\n public static tokens: any = [\r\n {\r\n id: 1,\r\n accessToken: 'access-token-' + Math.random(),\r\n refreshToken: 'access-token-' + Math.random()\r\n }\r\n ];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { User } from '../_models/user.model';\r\nimport { Permission } from '../_models/permission.model';\r\nimport { Role } from '../_models/role.model';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { QueryParamsModel, QueryResultsModel } from '../../_base/crud';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nconst API_USERS_URL = 'api/users';\r\nconst API_PERMISSION_URL = 'api/permissions';\r\nconst API_ROLES_URL = 'api/roles';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n // Authentication/Authorization\r\n login(email: string, password: string): Observable {\r\n return this.http.post(API_USERS_URL, {email, password});\r\n }\r\n\r\n getUserByToken(): Observable {\r\n const userToken = localStorage.getItem(environment.authTokenKey);\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Authorization', 'Bearer ' + userToken);\r\n return this.http.get(API_USERS_URL, {headers: httpHeaders});\r\n }\r\n\r\n register(user: User): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_USERS_URL, user, {headers: httpHeaders})\r\n .pipe(\r\n map((res: User) => {\r\n return res;\r\n }),\r\n catchError(err => {\r\n return null;\r\n })\r\n );\r\n }\r\n\r\n /*\r\n * Submit forgot password request\r\n *\r\n * @param {string} email\r\n * @returns {Observable}\r\n */\r\n public requestPassword(email: string): Observable {\r\n return this.http.get(API_USERS_URL + '/forgot?=' + email)\r\n .pipe(catchError(this.handleError('forgot-password', []))\r\n );\r\n }\r\n\r\n\r\n getAllUsers(): Observable {\r\n return this.http.get(API_USERS_URL);\r\n }\r\n\r\n getUserById(userId: number): Observable {\r\n return this.http.get(API_USERS_URL + `/${userId}`);\r\n }\r\n\r\n\r\n // DELETE => delete the user from the server\r\n deleteUser(userId: number) {\r\n const url = `${API_USERS_URL}/${userId}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n // UPDATE => PUT: update the user on the server\r\n // tslint:disable-next-line\r\n updateUser(_user: User): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.put(API_USERS_URL, _user, {headers: httpHeaders});\r\n }\r\n\r\n // CREATE => POST: add a new user to the server\r\n createUser(user: User): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_USERS_URL, user, {headers: httpHeaders});\r\n }\r\n\r\n // Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n // items => filtered/sorted result\r\n findUsers(queryParams: QueryParamsModel): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_USERS_URL + '/findUsers', queryParams, {headers: httpHeaders});\r\n }\r\n\r\n // Permission\r\n getAllPermissions(): Observable {\r\n return this.http.get(API_PERMISSION_URL);\r\n }\r\n\r\n getRolePermissions(roleId: number): Observable {\r\n return this.http.get(API_PERMISSION_URL + '/getRolePermission?=' + roleId);\r\n }\r\n\r\n // Roles\r\n getAllRoles(): Observable {\r\n return this.http.get(API_ROLES_URL);\r\n }\r\n\r\n getRoleById(roleId: number): Observable {\r\n return this.http.get(API_ROLES_URL + `/${roleId}`);\r\n }\r\n\r\n // CREATE => POST: add a new role to the server\r\n createRole(role: Role): Observable {\r\n // Note: Add headers if needed (tokens/bearer)\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_ROLES_URL, role, {headers: httpHeaders});\r\n }\r\n\r\n // UPDATE => PUT: update the role on the server\r\n updateRole(role: Role): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.put(API_ROLES_URL, role, {headers: httpHeaders});\r\n }\r\n\r\n // DELETE => delete the role from the server\r\n deleteRole(roleId: number): Observable {\r\n const url = `${API_ROLES_URL}/${roleId}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n // Check Role Before deletion\r\n isRoleAssignedToUsers(roleId: number): Observable {\r\n return this.http.get(API_ROLES_URL + '/checkIsRollAssignedToUser?roleId=' + roleId);\r\n }\r\n\r\n findRoles(queryParams: QueryParamsModel): Observable {\r\n // This code imitates server calls\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_ROLES_URL + '/findRoles', queryParams, {headers: httpHeaders});\r\n }\r\n\r\n /*\r\n * Handle Http operation that failed.\r\n * Let the app continue.\r\n *\r\n * @param operation - name of the operation that failed\r\n * @param result - optional value to return as the observable result\r\n */\r\n private handleError(operation = 'operation', result?: any) {\r\n return (error: any): Observable => {\r\n // TODO: send the error to remote logging infrastructure\r\n console.error(error); // log to console instead\r\n\r\n // Let the app keep running by returning an empty result.\r\n return of(result);\r\n };\r\n }\r\n}\r\n","// export { AuthService } from './auth.service.fake'; // You have to comment this, when your real back-end is done\r\nexport { AuthService } from \"./auth.service\"; // You have to uncomment this, when your real back-end is done\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AuthNotice } from './auth-notice.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthNoticeService {\r\n onNoticeChanged$: BehaviorSubject;\r\n\r\n constructor() {\r\n this.onNoticeChanged$ = new BehaviorSubject(null);\r\n }\r\n\r\n setNotice(message: string, type?: string) {\r\n const notice: AuthNotice = {\r\n message,\r\n type\r\n };\r\n this.onNoticeChanged$.next(notice);\r\n }\r\n}\r\n","// SERVICES\r\nexport { AuthService } from './_services';\r\nexport { AuthNoticeService } from './auth-notice/auth-notice.service';\r\n\r\n// DATA SOURCERS\r\nexport { RolesDataSource } from './_data-sources/roles.datasource';\r\nexport { UsersDataSource } from './_data-sources/users.datasource';\r\n\r\n// ACTIONS\r\nexport {\r\n Login,\r\n Logout,\r\n Register,\r\n UserRequested,\r\n UserLoaded,\r\n AuthActionTypes,\r\n AuthActions\r\n} from './_actions/auth.actions';\r\nexport {\r\n AllPermissionsRequested,\r\n AllPermissionsLoaded,\r\n PermissionActionTypes,\r\n PermissionActions\r\n} from './_actions/permission.actions';\r\nexport {\r\n RoleOnServerCreated,\r\n RoleCreated,\r\n RoleUpdated,\r\n RoleDeleted,\r\n RolesPageRequested,\r\n RolesPageLoaded,\r\n RolesPageCancelled,\r\n AllRolesLoaded,\r\n AllRolesRequested,\r\n RoleActionTypes,\r\n RoleActions\r\n} from './_actions/role.actions';\r\nexport {\r\n UserCreated,\r\n UserUpdated,\r\n UserDeleted,\r\n UserOnServerCreated,\r\n UsersPageLoaded,\r\n UsersPageCancelled,\r\n UsersPageToggleLoading,\r\n UsersPageRequested,\r\n UsersActionToggleLoading\r\n} from './_actions/user.actions';\r\n\r\n// EFFECTS\r\nexport { AuthEffects } from './_effects/auth.effects';\r\nexport { PermissionEffects } from './_effects/permission.effects';\r\nexport { RoleEffects } from './_effects/role.effects';\r\nexport { UserEffects } from './_effects/user.effects';\r\n\r\n// REDUCERS\r\nexport { authReducer } from './_reducers/auth.reducers';\r\nexport { permissionsReducer } from './_reducers/permission.reducers';\r\nexport { rolesReducer } from './_reducers/role.reducers';\r\nexport { usersReducer } from './_reducers/user.reducers';\r\n\r\n// SELECTORS\r\nexport {\r\n isLoggedIn,\r\n isLoggedOut,\r\n isUserLoaded,\r\n currentAuthToken,\r\n currentUser,\r\n currentUserRoleIds,\r\n currentUserPermissionsIds,\r\n currentUserPermissions,\r\n checkHasUserPermission\r\n} from './_selectors/auth.selectors';\r\nexport {\r\n selectPermissionById,\r\n selectAllPermissions,\r\n selectAllPermissionsIds,\r\n allPermissionsLoaded\r\n} from './_selectors/permission.selectors';\r\nexport {\r\n selectRoleById,\r\n selectAllRoles,\r\n selectAllRolesIds,\r\n allRolesLoaded,\r\n selectLastCreatedRoleId,\r\n selectRolesPageLoading,\r\n selectQueryResult,\r\n selectRolesActionLoading,\r\n selectRolesShowInitWaitingMessage\r\n} from './_selectors/role.selectors';\r\nexport {\r\n selectUserById,\r\n selectUsersPageLoading,\r\n selectLastCreatedUserId,\r\n selectUsersInStore,\r\n selectHasUsersInStore,\r\n selectUsersPageLastQuery,\r\n selectUsersActionLoading,\r\n selectUsersShowInitWaitingMessage\r\n} from './_selectors/user.selectors';\r\n\r\n// GUARDS\r\nexport { AuthGuard } from './_guards/auth.guard';\r\nexport { ModuleGuard } from './_guards/module.guard';\r\n\r\n// MODELS\r\nexport { User } from './_models/user.model';\r\nexport { Permission } from './_models/permission.model';\r\nexport { Role } from './_models/role.model';\r\nexport { Address } from './_models/address.model';\r\nexport { SocialNetworks } from './_models/social-networks.model';\r\nexport { AuthNotice } from './auth-notice/auth-notice.interface';\r\n\r\nexport { AuthDataContext } from './_server/auth.data-context';\r\n","// Anglar\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n// Layout Directives\r\n// Services\r\nimport {\r\n ContentAnimateDirective,\r\n FirstLetterPipe,\r\n GetObjectPipe,\r\n HeaderDirective,\r\n JoinPipe,\r\n MenuDirective,\r\n OffcanvasDirective,\r\n SafePipe,\r\n ScrollTopDirective,\r\n SparklineChartDirective,\r\n StickyDirective,\r\n TabClickEventDirective,\r\n TimeElapsedPipe,\r\n ToggleDirective\r\n} from './_base/layout';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [\r\n // directives\r\n ScrollTopDirective,\r\n HeaderDirective,\r\n OffcanvasDirective,\r\n ToggleDirective,\r\n MenuDirective,\r\n TabClickEventDirective,\r\n SparklineChartDirective,\r\n ContentAnimateDirective,\r\n StickyDirective,\r\n // pipes\r\n TimeElapsedPipe,\r\n JoinPipe,\r\n GetObjectPipe,\r\n SafePipe,\r\n FirstLetterPipe,\r\n ],\r\n exports: [\r\n // directives\r\n ScrollTopDirective,\r\n HeaderDirective,\r\n OffcanvasDirective,\r\n ToggleDirective,\r\n MenuDirective,\r\n TabClickEventDirective,\r\n SparklineChartDirective,\r\n ContentAnimateDirective,\r\n StickyDirective,\r\n // pipes\r\n TimeElapsedPipe,\r\n JoinPipe,\r\n GetObjectPipe,\r\n SafePipe,\r\n FirstLetterPipe,\r\n ],\r\n providers: []\r\n})\r\nexport class CoreModule {\r\n}\r\n","export class Coordinate {\r\n constructor(public lat: number, public lng: number) {}\r\n\r\n static parseBack(coor: Coordinate) {\r\n return {\r\n lat: coor.lat,\r\n long: coor.lng,\r\n };\r\n }\r\n}\r\n","export class Customer {\r\n constructor(\r\n public customerId?: string,\r\n public name?: string,\r\n public email?: string,\r\n public phone?: string,\r\n public dateCreated?: string\r\n ) {}\r\n\r\n static createEmpty(): Customer {\r\n return new Customer(null, null, null, null, null);\r\n }\r\n static parseBack(customer: Customer): object {\r\n return {\r\n name: customer.name,\r\n email: customer.email,\r\n phone: customer.phone,\r\n };\r\n }\r\n}\r\n","export class DatasourceOptions {\r\n constructor(\r\n public totalAmount: number,\r\n public page: number,\r\n public search: string,\r\n public totalPages: number,\r\n public perPage: number,\r\n public sortBy: string,\r\n public sortOrder: string\r\n ) {}\r\n\r\n static parse(obj): DatasourceOptions {\r\n let options;\r\n\r\n options = new DatasourceOptions(\r\n obj.total_amount,\r\n obj.page,\r\n obj.search,\r\n obj.total_pages,\r\n obj.per_page,\r\n obj.sort_by,\r\n obj.sort_order\r\n );\r\n\r\n return options;\r\n }\r\n}\r\n","export class DroneModel {\r\n constructor(public modelId: string, public name:string ) {}\r\n\r\n static parse(obj) {\r\n const model = new DroneModel(obj.modelId, obj.name);\r\n return model;\r\n }\r\n}","export class DronePayload {\r\n constructor(public payloadId: string, public name: string) {}\r\n\r\n static parse(obj) {\r\n const payload = new DronePayload(obj?.payloadId, obj?.name);\r\n\r\n return payload;\r\n }\r\n}\r\n","import { PilotType } from \"./pilot-type.model\";\r\n\r\nexport class DronePilot {\r\n constructor(\r\n public pilotId?: string,\r\n public name?: string,\r\n public pilotType?: PilotType,\r\n public phone?: string,\r\n public isLicenseGimel?: boolean,\r\n public isLicenseRT?: boolean\r\n ) {}\r\n\r\n static parse(obj) {\r\n const pilotType = PilotType.parse(obj?.PilotType);\r\n const pilot = new DronePilot(\r\n obj?.pilotId,\r\n obj?.name,\r\n pilotType,\r\n obj?.phone,\r\n obj?.isLicenseGimel,\r\n obj?.isLicenseRT\r\n );\r\n\r\n return pilot;\r\n }\r\n\r\n static parseBack(pilot: DronePilot) {\r\n return {\r\n name: pilot.name,\r\n pilotTypeId: pilot.pilotType.pilotTypeId,\r\n phone: pilot.phone,\r\n isLicenseGimel: pilot.isLicenseGimel,\r\n isLicenseRT: pilot.isLicenseRT,\r\n };\r\n }\r\n\r\n static createEmpty(): DronePilot {\r\n return new DronePilot(null, null, null, null, false, false);\r\n }\r\n}\r\n","import { Coordinate } from \"./coordinate.mode\";\r\nimport { DroneRouteCoordinate } from \"./drone-route-coordinate.model\";\r\nimport { RouteChunk } from \"./route-chunk-model\";\r\n\r\nexport class DroneRoute {\r\n color: string;\r\n\r\n constructor(public routeChunks: RouteChunk[], public tailNumber: string) {\r\n this.color =\r\n \"#\" + (0x1000000 + Math.random() * 0xffffff).toString(16).substr(1, 6);\r\n }\r\n\r\n static parse(obj) {\r\n let routeChunks = obj.routeChunks.map((chunk) => ({\r\n coordinates: JSON.parse(chunk.coordinates).map(\r\n (c) => new Coordinate(+c.lat, +c.long)\r\n ),\r\n isOn: chunk.isOn,\r\n }));\r\n return new DroneRoute(routeChunks, obj.tailNumber);\r\n }\r\n}\r\n","import { DroneModel } from \"./drone-model.model\";\r\nimport { DronePayload } from \"./drone-payload.model\";\r\n\r\nexport class Drone {\r\n constructor(\r\n public droneId: string,\r\n public payload: DronePayload,\r\n public tailNumber: string,\r\n public model: DroneModel,\r\n public blackBoxId: string\r\n ) {}\r\n\r\n static parse(obj) {\r\n const model = DroneModel.parse(obj.Model);\r\n const payload = DronePayload.parse(obj.Payload);\r\n const drone = new Drone(\r\n obj.droneId,\r\n payload,\r\n obj.tailNumber,\r\n model,\r\n obj.blackBoxId\r\n );\r\n return drone;\r\n }\r\n\r\n static parseBack(drone: Drone) {\r\n return {\r\n payloadId: drone.payload.payloadId,\r\n modelId: drone.model.modelId,\r\n tailNumber: drone.tailNumber,\r\n blackBoxId: drone.blackBoxId,\r\n };\r\n }\r\n\r\n static createEmpty(): Drone {\r\n return new Drone(null, null, \"\", null, null);\r\n }\r\n}\r\n\r\n// export enum DronePayloads {\r\n// scss = \"scss\",\r\n// splat = \"splat\",\r\n// }\r\n\r\n// export enum DroneModels {\r\n// M6EX = \"M6E-X\",\r\n// M6EY = \"M6E-Y\",\r\n// M6EZ = \"M6E-Z\",\r\n// }\r\n","import { Customer } from \"./customer.model\";\r\nimport { Coordinate } from \"./coordinate.mode\";\r\n\r\nexport class Field {\r\n static createEmpty(): Field {\r\n return new Field(null, null, [], null, null, null, null, null);\r\n }\r\n static parseBack(field: Field): object {\r\n return {\r\n customerId: field.customer.customerId,\r\n cropName: field.cropName,\r\n plantingYear: field.plantingYear,\r\n coordinates: JSON.stringify(\r\n field.coordinates.map((c) => Coordinate.parseBack(c))\r\n ),\r\n plotNumber: field.plotNumber,\r\n moagId: field.moagId,\r\n areaSquareMeters: field.areaSquareMeters,\r\n };\r\n }\r\n static parse(obj: any) {\r\n const customer = JSON.parse(JSON.stringify(obj.Customer));\r\n\r\n let c = JSON.parse(obj.coordinates);\r\n const coordinates = c.map((c) => new Coordinate(+c.lat, +c.long));\r\n return new Field(\r\n obj.fieldId,\r\n customer,\r\n coordinates,\r\n obj.cropName,\r\n obj.plotNumber,\r\n obj.plantingYear,\r\n obj.moagId,\r\n obj.areaSquareMeters\r\n );\r\n }\r\n constructor(\r\n public fieldId: string,\r\n public customer: Customer,\r\n public coordinates: Coordinate[],\r\n public cropName: string,\r\n public plotNumber: number,\r\n public plantingYear: number,\r\n public moagId: string,\r\n public areaSquareMeters: number\r\n ) {}\r\n\r\n get isFullyLoaded() {\r\n return (\r\n this.cropName &&\r\n this.plotNumber &&\r\n this.coordinates &&\r\n this.coordinates.length > 0 &&\r\n this.customer\r\n );\r\n }\r\n}\r\n","import { Task } from \"./task.model\";\r\nimport { LatLngBounds, LatLngLiteral } from \"@agm/core\";\r\n\r\ndeclare const google: any;\r\n\r\nexport class MapTask {\r\n bounds;\r\n\r\n constructor(public task: Task, public isSelected: boolean) {\r\n this.bounds = new google.maps.LatLngBounds();\r\n task.field.coordinates.map((c) => this.bounds.extend(c));\r\n }\r\n\r\n static parse(obj) {\r\n let task = Task.parse(obj);\r\n\r\n return new MapTask(task, false);\r\n }\r\n\r\n getNorth() {\r\n let lats = this.task.field.coordinates.map((c) => c.lat);\r\n let northLat = Math.max(...lats);\r\n let north = this.task.field.coordinates.find((c) => c.lat == northLat);\r\n return north;\r\n }\r\n}\r\n","export class Material {\r\n constructor(public materialId: string, public name: string) {}\r\n\r\n static parseBack(material: Material): object {\r\n return { name: material.name };\r\n }\r\n\r\n static parse(obj): Material {\r\n return new Material(obj.materialId, obj.name);\r\n }\r\n}\r\n","export class PilotType {\r\n constructor(public pilotTypeId: string, public name: string) {}\r\n\r\n static parse(obj) {\r\n const pilotType = new PilotType(obj?.pilotTypeId, obj?.name);\r\n return pilotType;\r\n }\r\n}\r\n","import { DronePayload } from \"./drone-payload.model\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\n\r\nexport class Protocol {\r\n constructor(\r\n public protocolId: string,\r\n public name: string,\r\n public material: Material,\r\n public payload: DronePayload,\r\n public nozzle: string,\r\n public marginSpace: number,\r\n public rowSpace: number,\r\n public dunamVolume: number,\r\n public waterVolume: number\r\n ) {}\r\n\r\n static parse(obj): Protocol {\r\n const material = Material.parse(obj.Material);\r\n const payload = DronePayload.parse(obj.Payload);\r\n\r\n const protocol = new Protocol(\r\n obj.protocolId,\r\n obj.name,\r\n material,\r\n payload,\r\n obj.nozzle,\r\n obj.marginSpace,\r\n obj.rowSpace,\r\n obj.dunamVolume,\r\n obj.waterVolume\r\n );\r\n return protocol;\r\n }\r\n\r\n static parseBack(protocol: Protocol): object {\r\n return {\r\n name: protocol.name,\r\n materialId: protocol.material.materialId,\r\n marginSpace: protocol.marginSpace,\r\n rowSpace: protocol.rowSpace,\r\n dunamVolume: protocol.dunamVolume,\r\n waterVolume: protocol.waterVolume,\r\n payloadId: protocol.payload.payloadId,\r\n nozzle: protocol.nozzle,\r\n };\r\n }\r\n\r\n static createEmpty() {\r\n return new Protocol(null, null, null, null, null, 0, 0, 0, 0);\r\n }\r\n}\r\n","import { DronePilot } from \"./drone-pilot.model\";\r\nimport { Material } from \"./material.model\";\r\nimport { Field } from \"./field.model\";\r\nimport { Customer } from \"./customer.model\";\r\nimport { Protocol } from \"./protocol.model\";\r\nimport { Status } from \"./status.model\";\r\n\r\nexport class Task {\r\n static parseBack(task: Task): object {\r\n return {\r\n customerId: task.customer.customerId,\r\n protocolId: task.protocol.protocolId,\r\n materialId: task.material.materialId,\r\n //statusId: task.status.statusId,\r\n executionDate: task.executionDate.toDateString(),\r\n //pilotId: task.pilot.pilotId,\r\n fieldId: task.field?.fieldId,\r\n };\r\n }\r\n //added this because on update it didnt update statusid and pilotid\r\n static parseBackUpdate(task: Task): object {\r\n return {\r\n customerId: task.customer.customerId,\r\n protocolId: task.protocol.protocolId,\r\n materialId: task.material.materialId,\r\n statusId: task.status.statusId,\r\n scheduledDate: task.scheduledDate?.toDateString(),\r\n executionDate: task.executionDate?.toDateString(),\r\n approvedExecutionDate: task.approvedExecutionDate?.toDateString(),\r\n executionStatusId: task.executionStatus?.statusId,\r\n approvedStatusId: task.approvedStatus?.statusId,\r\n pilotId: task.pilot.pilotId,\r\n fieldId: task.field?.fieldId,\r\n };\r\n }\r\n static parse(d: any) {\r\n let field = Field.parse(d.Field);\r\n let customer = field.customer;\r\n let protocol = Protocol.parse(d.Protocol);\r\n let material = Material.parse(d.Material);\r\n let status = JSON.parse(JSON.stringify(d.Status));\r\n let approvedStatus = JSON.parse(JSON.stringify(d.ApprovedStatus));\r\n let executionStatus = JSON.parse(JSON.stringify(d.ExecutionStatus));\r\n let createdAt = new Date(d.createdDate);\r\n let executionDate = d.executionDate ? new Date(d.executionDate) : new Date();\r\n let scheduledDate = d.scheduledDate ? new Date(d.scheduledDate) : null;\r\n let approvedExecutionDate = d.approvedExecutionDate ? new Date(d.approvedExecutionDate) : null;\r\n let executionStatusId = d.executionStatusId;\r\n\r\n let pilot = DronePilot.parse(d.Pilot);\r\n\r\n return new Task(\r\n d.taskId,\r\n customer,\r\n field,\r\n material,\r\n protocol,\r\n pilot,\r\n status,\r\n createdAt,\r\n executionDate,\r\n scheduledDate,\r\n approvedExecutionDate,\r\n executionStatusId,\r\n executionStatus,\r\n approvedStatus\r\n );\r\n }\r\n constructor(\r\n public taskId: string,\r\n public customer: Customer,\r\n public field: Field,\r\n public material: Material,\r\n public protocol: Protocol,\r\n public pilot: DronePilot,\r\n public status: Status,\r\n public createdAt: Date,\r\n public executionDate: Date,\r\n public scheduledDate: Date,\r\n public approvedExecutionDate: Date,\r\n public executionStatusId: string,\r\n public executionStatus: Status,\r\n public approvedStatus: Status\r\n ) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { HttpUtilsService } from '../_base/crud';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n\r\n constructor(private http: HttpClient, httpUtils: HttpUtilsService) { }\r\n\r\n \r\n get(path: string, params: HttpParams = new HttpParams()): Observable {\r\n return this.http\r\n .get(`${environment.api_url}${path}`, { params })\r\n .pipe();\r\n}\r\n\r\nput(path: string, body: object = {}): Observable {\r\n const headers = new HttpHeaders().set(\r\n \"Content-Type\",\r\n \"application/json\"\r\n );\r\n\r\n return this.http.put(\r\n `${environment.api_url}${path}`,\r\n JSON.stringify(body),\r\n { headers }\r\n );\r\n}\r\n\r\npost(\r\n path: string,\r\n params: HttpParams = new HttpParams(),\r\n body: object = {}\r\n): Observable {\r\n const headers = new HttpHeaders({\r\n \"Content-Type\": \"application/json\"\r\n });\r\n\r\n return this.http.post(\r\n `${environment.api_url}${path}`,\r\n JSON.stringify(body),\r\n { headers, params }\r\n );\r\n}\r\n\r\ndelete(path: string, params: HttpParams = new HttpParams()): Observable {\r\n return this.http.delete(\r\n `${environment.api_url}${path}`, {params}\r\n );\r\n}\r\n}\r\n"," import { Injectable } from '@angular/core';\r\nimport { ApiService } from './api.service';\r\nimport { of } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { map } from 'rxjs/operators';\r\nimport { User } from '../auth';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class AuthService {\r\n constructor(private api: ApiService) {}\r\n\r\n getToken() { \r\n return localStorage.getItem(environment.authTokenKey);\r\n }\r\n\r\n login(username: string, password: string){\r\n return this.api.post(\"login\", null, {username: username, password: password})\r\n }\r\n\r\n getUserByToken() { \r\n return this.api.get(\"login\").pipe(map(result => { \r\n const user = User.parse(result);\r\n return user;\r\n }))\r\n }\r\n \r\n \r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Customer } from \"../models/customer.model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CustomersService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllCustomers() {\r\n return this.api.get(\"customers\").pipe(\r\n map((result) => {\r\n const customers = result.map((d) => JSON.parse(JSON.stringify(d)));\r\n\r\n return customers;\r\n })\r\n );\r\n }\r\n\r\n getCustomerById(id) {\r\n return this.api.get(\"customers/\" + id).pipe(\r\n map((result) => {\r\n const customer = JSON.parse(JSON.stringify(result));\r\n\r\n return customer;\r\n })\r\n );\r\n }\r\n\r\n addCustomer(customer: Customer) {\r\n return this.api.post(\"customers\", null, Customer.parseBack(customer)).pipe(\r\n map((result) => {\r\n return customer;\r\n })\r\n );\r\n }\r\n\r\n updateCustomer(customer: Customer) {\r\n return this.api\r\n .put(\"customers/\" + customer.customerId, Customer.parseBack(customer))\r\n .pipe(\r\n map((result) => {\r\n return customer;\r\n })\r\n );\r\n }\r\n\r\n deleteCustomer(customer: Customer) {\r\n return this.api.delete(\"customers/\" + customer.customerId).pipe(\r\n map((result) => {\r\n return customer;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Drone } from \"../models/drone.model\";\r\nimport { DronePilot } from \"../models/drone-pilot.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { PilotType } from \"../models/pilot-type.model\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DronePilotsService {\r\n constructor(private api: ApiService) {}\r\n getAllDronePilots() {\r\n return this.api.get(\"pilots\").pipe(\r\n map((result) => {\r\n const drones = result.map((d) => DronePilot.parse(d));\r\n return drones;\r\n })\r\n );\r\n }\r\n\r\n getAllPilotTypes() {\r\n return this.api.get(\"pilottypes\").pipe(\r\n map((result) => {\r\n const pilotTypes = result.map((p) => PilotType.parse(p));\r\n\r\n return pilotTypes;\r\n })\r\n );\r\n }\r\n\r\n getPilotById(id) {\r\n return this.api.get(\"pilots/\" + id).pipe(\r\n map((result) => {\r\n const pilot = DronePilot.parse(result);\r\n return pilot;\r\n })\r\n );\r\n }\r\n\r\n addDronePilot(pilot: DronePilot) {\r\n return this.api.post(\"pilots\", null, DronePilot.parseBack(pilot)).pipe(\r\n map((result) => {\r\n return pilot;\r\n })\r\n );\r\n }\r\n\r\n updatePilot(pilot: DronePilot) {\r\n return this.api\r\n .put(\"pilots/\" + pilot.pilotId, DronePilot.parseBack(pilot))\r\n .pipe(\r\n map((result) => {\r\n return pilot;\r\n })\r\n );\r\n }\r\n\r\n deletePilot(pilot: DronePilot) {\r\n return this.api.delete(\"pilots/\" + pilot.pilotId).pipe(\r\n map((result) => {\r\n return pilot;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Drone } from \"../models/drone.model\";\r\nimport { of } from \"rxjs\";\r\nimport { delay, map } from \"rxjs/operators\";\r\nimport * as _ from \"lodash\";\r\nimport { DronePayload } from \"../models/drone-payload.model\";\r\nimport { DroneModel } from \"../models/drone-model.model\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DronesService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllDrones() {\r\n return this.api.get(\"drones\").pipe(\r\n map((result) => {\r\n const drones = result.map((d) => Drone.parse(d));\r\n\r\n return drones;\r\n })\r\n );\r\n }\r\n\r\n getAllModels() {\r\n return this.api.get(\"models\").pipe(\r\n map((result) => {\r\n const models = result.map((m) => DroneModel.parse(m));\r\n\r\n return models;\r\n })\r\n );\r\n }\r\n\r\n getAllPayloads() {\r\n return this.api.get(\"payloads\").pipe(\r\n map((result) => {\r\n const payloads = result.map((p) => DronePayload.parse(p));\r\n\r\n return payloads;\r\n })\r\n );\r\n }\r\n\r\n getDroneById(id) {\r\n return this.api.get(\"drones/\" + id).pipe(\r\n map((result) => {\r\n const drone = Drone.parse(result);\r\n\r\n return drone;\r\n })\r\n );\r\n }\r\n\r\n addDrone(drone: Drone) {\r\n return this.api.post(\"drones\", null, Drone.parseBack(drone)).pipe(\r\n map((result) => {\r\n return drone;\r\n })\r\n );\r\n }\r\n\r\n updateDrone(drone: Drone) {\r\n return this.api.put(\"drones/\" + drone.droneId, Drone.parseBack(drone)).pipe(\r\n map((result) => {\r\n return drone;\r\n })\r\n );\r\n }\r\n\r\n deleteDrone(drone: Drone) {\r\n return this.api.delete(\"drones/\" + drone.droneId).pipe(\r\n map((result) => {\r\n return drone;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Field } from \"../models/field.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { FieldImportWrapper } from \"../models/field-import-wrapper.model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FieldsService {\r\n constructor(private api: ApiService, private http: HttpClient) {}\r\n\r\n getAllFields() {\r\n return this.api.get(\"fields\").pipe(\r\n map((result) => {\r\n const fields = result.map((d) => Field.parse(d));\r\n\r\n return fields;\r\n })\r\n );\r\n }\r\n\r\n getFieldById(id) {\r\n return this.api.get(\"fields/\" + id).pipe(\r\n map((result) => {\r\n const field = Field.parse(result);\r\n\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n addField(field: Field) {\r\n return this.api.post(\"fields\", null, Field.parseBack(field)).pipe(\r\n map((result) => {\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n updateField(field: Field) {\r\n return this.api.put(\"fields/\" + field.fieldId, Field.parseBack(field)).pipe(\r\n map((result) => {\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n deleteField(field: Field) {\r\n return this.api.delete(\"fields/\" + field.fieldId).pipe(\r\n map((result) => {\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n importFields(fieldImportWrapper: FieldImportWrapper) {\r\n let file = fieldImportWrapper.file[0];\r\n const formData: FormData = new FormData();\r\n\r\n formData.append(\"file\", file, file.name);\r\n formData.append(\"customerId\", fieldImportWrapper.customerId);\r\n return this.http.post(`${environment.api_url}kmlfile`, formData).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Material } from \"../models/material.model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MaterialsService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllMaterials() {\r\n return this.api.get(\"materials\").pipe(\r\n map((result) => {\r\n const materials = result.map((d) => Material.parse(d));\r\n\r\n return materials;\r\n })\r\n );\r\n }\r\n\r\n getMaterialById(id) {\r\n return this.api.get(\"materials/\" + id).pipe(\r\n map((result) => {\r\n const material = Material.parse(result);\r\n\r\n return material;\r\n })\r\n );\r\n }\r\n\r\n addMaterial(material: Material) {\r\n return this.api.post(\"materials\", null, Material.parseBack(material)).pipe(\r\n map((result) => {\r\n return material;\r\n })\r\n );\r\n }\r\n\r\n updateMaterial(material: Material) {\r\n return this.api\r\n .put(\"materials/\" + material.materialId, Material.parseBack(material))\r\n .pipe(\r\n map((result) => {\r\n return material;\r\n })\r\n );\r\n }\r\n\r\n deleteMaterial(material: Material) {\r\n return this.api.delete(\"materials/\" + material.materialId).pipe(\r\n map((result) => {\r\n return material;\r\n })\r\n );\r\n }\r\n}\r\n","import { MapTask } from \"./../models/map-task.model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { Task } from \"../models/task.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class PilotTasksService {\r\n constructor(private api: ApiService, private http: HttpClient) {}\r\n\r\n getPilotTasks(pilotId, date: Date) {\r\n //TODO: temp fix, parse all dates to ISO in prototype\r\n date = new Date(date.setTime(date.getTime() + 3 * 60 * 60 * 1000));\r\n return this.api\r\n .post(\"DailyTasks\", null, { pilotId: pilotId.toString(), date: date })\r\n .pipe(\r\n map((result) => {\r\n const tasks = result.map((d) => Task.parse(d));\r\n const mapTasks = result.map((d) => MapTask.parse(d));\r\n return { tasks: tasks, mapTasks: mapTasks };\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Protocol } from \"../models/protocol.model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ProtocolsService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllProtocols() {\r\n return this.api.get(\"protocols\").pipe(\r\n map((result) => {\r\n const protocols = result.map((d) => Protocol.parse(d));\r\n\r\n return protocols;\r\n })\r\n );\r\n }\r\n\r\n getProtocolById(id) {\r\n return this.api.get(\"protocols/\" + id).pipe(\r\n map((result) => {\r\n const protocol = Protocol.parse(result);\r\n\r\n return protocol;\r\n })\r\n );\r\n }\r\n\r\n addProtocol(protocol: Protocol) {\r\n return this.api.post(\"protocols\", null, Protocol.parseBack(protocol)).pipe(\r\n map((result) => {\r\n return protocol;\r\n })\r\n );\r\n }\r\n\r\n updateProtocol(protocol: Protocol) {\r\n return this.api\r\n .put(\"protocols/\" + protocol.protocolId, Protocol.parseBack(protocol))\r\n .pipe(\r\n map((result) => {\r\n return protocol;\r\n })\r\n );\r\n }\r\n\r\n deleteProtocol(protocol: Protocol) {\r\n return this.api.delete(\"protocols/\" + protocol.protocolId).pipe(\r\n map((result) => {\r\n return protocol;\r\n })\r\n );\r\n }\r\n}\r\n","import { TaskFilterWrapper } from \"./../models/task-filter-wrapper.model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Task } from \"../models/task.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { MapTask } from \"../models/map-task.model\";\r\nimport { AssignTaskWrapper } from \"../models/assignTaskWrapper.model\";\r\nimport { DroneRoute } from \"../models/drone-route-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TasksService {\r\n constructor(private api: ApiService, private http: HttpClient) {}\r\n\r\n getAllTasks() {\r\n return this.api.get(\"tasks\").pipe(\r\n map((result) => {\r\n const tasks = result.map((d) => Task.parse(d));\r\n\r\n return tasks;\r\n })\r\n );\r\n }\r\n\r\n getTaskById(id) {\r\n return this.api.get(\"tasks/\" + id).pipe(\r\n map((result) => {\r\n const task = Task.parse(result);\r\n\r\n return task;\r\n })\r\n );\r\n }\r\n\r\n getStauses() {\r\n return this.api.get(\"status\").pipe(\r\n map((result) => {\r\n const statuses = result.map((d) => JSON.parse(JSON.stringify(d)));\r\n\r\n return statuses;\r\n })\r\n );\r\n }\r\n\r\n deleteTask(task: Task) {\r\n return this.api.delete(\"tasks/\" + task.taskId).pipe(\r\n map((result) => {\r\n return task;\r\n })\r\n );\r\n }\r\n\r\n updateTask(task: Task) {\r\n return this.api\r\n .put(\"tasks/\" + task.taskId, Task.parseBackUpdate(task))\r\n .pipe(\r\n map((result) => {\r\n return task;\r\n })\r\n );\r\n }\r\n\r\n importTasks(task: Task, files, isPreview = false) {\r\n let file = files[0];\r\n const formData: FormData = new FormData();\r\n\r\n formData.append(\"file\", file, file.name);\r\n\r\n if (isPreview) {\r\n formData.append(\"isPreview\", \"true\");\r\n } else {\r\n formData.append(\"task\", JSON.stringify(Task.parseBack(task)));\r\n }\r\n\r\n return this.http.post(`${environment.api_url}tasks`, formData).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n filterTasks(taskFilterWrapper: TaskFilterWrapper) {\r\n return this.api.post(\"TaskSearch\", null, taskFilterWrapper).pipe(\r\n map((result) => {\r\n let mapTasks = result.map((t) => MapTask.parse(t));\r\n return mapTasks;\r\n })\r\n );\r\n }\r\n\r\n assignTasks(taskAssignWrapper: AssignTaskWrapper) {\r\n return this.api.post(\"taskassign\", null, taskAssignWrapper).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n filterControllerTasks(taskFilterWrapper: TaskFilterWrapper) {\r\n return this.api.post(\"TaskControl\", null, taskFilterWrapper).pipe(\r\n map((result) => {\r\n let mapTasks = result.tasksList.map((t) => MapTask.parse(t));\r\n let droneRoutes = result.droneRoutes.map((d) => DroneRoute.parse(d));\r\n\r\n return { mapTasks, droneRoutes };\r\n })\r\n );\r\n }\r\n\r\n assignControllerTasks(taskAssignWrapper: AssignTaskWrapper) {\r\n return this.api.post(\"TaskControlAssign\", null, taskAssignWrapper).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n filterCompletedTasks(taskFilterWrapper: TaskFilterWrapper) {\r\n return this.api.post(\"completedTasks\", null, taskFilterWrapper).pipe(\r\n map((result) => {\r\n let tasks = result.map((t) => Task.parse(t));\r\n return tasks;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { User } from \"../auth/_models/user.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class UsersService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllUsers() {\r\n return this.api.get(\"users\").pipe(\r\n map((result) => {\r\n const users = result.map((d) => User.parse(d));\r\n\r\n return users;\r\n })\r\n );\r\n }\r\n\r\n getUserById(id) {\r\n return this.api.get(\"users/\" + id).pipe(\r\n map((result) => {\r\n const user = User.parse(result);\r\n\r\n return user;\r\n })\r\n );\r\n }\r\n\r\n getAllRoleTypes() {\r\n return this.api.get(\"roleTypes\").pipe(\r\n map((result) => {\r\n const roleTypes = result.map((r) => JSON.parse(JSON.stringify(r)));\r\n\r\n return roleTypes;\r\n })\r\n );\r\n }\r\n\r\n addUser(user: User) {\r\n return this.api.post(\"users\", null, User.parseBack(user)).pipe(\r\n map((result) => {\r\n return user;\r\n })\r\n );\r\n }\r\n\r\n updateUser(user: User) {\r\n return this.api.put(\"users/\" + user.userId, User.parseBack(user)).pipe(\r\n map((result) => {\r\n return user;\r\n })\r\n );\r\n }\r\n\r\n deleteUser(user: User) {\r\n return this.api.delete(\"users/\" + user.userId).pipe(\r\n map((result) => {\r\n return user;\r\n })\r\n );\r\n }\r\n}\r\n","import { createAction, props } from \"@ngrx/store\";\r\n\r\nexport const login = createAction(\r\n \"[Auth] Login\",\r\n props<{ username: string; password: string }>()\r\n);\r\n\r\nexport const loginSuccess = createAction(\r\n \"[Auth] Login Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loginFailure = createAction(\r\n \"[Auth] Login Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const logout = createAction(\"[Auth] Logout\");\r\n\r\nexport const loadUserProfile = createAction(\"[Auth] LoadUser\");\r\n\r\nexport const loadUserProfileSuccess = createAction(\r\n \"[Auth] LoadUser Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUserProfileFailure = createAction(\r\n \"[Auth] LoadUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Customer } from \"../../models/customer.model\";\r\n\r\nexport const loadCustomers = createAction(\"[Customer] Load Customers\");\r\n\r\nexport const loadCustomersSuccess = createAction(\r\n \"[Customer] Load Customers Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadCustomersFailure = createAction(\r\n \"[Customer] Load Customers Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadCustomer = createAction(\r\n \"[Customer] Load Customer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadCustomerSuccess = createAction(\r\n \"[Customer] Load Customer Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadCustomerFailure = createAction(\r\n \"[Customer] Load Customer Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addCustomer = createAction(\r\n \"[Customer] AddCustomer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addCustomerSuccess = createAction(\r\n \"[Customer] AddCustomer Success\",\r\n props<{ data: Customer }>()\r\n);\r\n\r\nexport const addCustomerFailure = createAction(\r\n \"[Customer] AddCustomer Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateCustomer = createAction(\r\n \"[Customer] UpdateCustomer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateCustomerSuccess = createAction(\r\n \"[Customer] UpdateCustomer Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateCustomerFailure = createAction(\r\n \"[Customer] UpdateCustomer Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteCustomer = createAction(\r\n \"[Customer] DeleteCustomer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteCustomerSuccess = createAction(\r\n \"[Customer] DeleteCustomer Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteCustomerFailure = createAction(\r\n \"[Customer] DeleteCustomer Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { DronePilot } from \"../../models/drone-pilot.model\";\r\nimport { PilotType } from \"../../models/pilot-type.model\";\r\n\r\nexport const loadDronePilots = createAction(\"[DronePilots] Load DronePilots\");\r\n\r\nexport const loadDronePilotsSuccess = createAction(\r\n \"[DronePilots] Load DronePilots Success\",\r\n props<{ data: DronePilot[] }>()\r\n);\r\n\r\nexport const loadDronePilotsFailure = createAction(\r\n \"[DronePilots] Load DronePilots Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadPilotTypes = createAction(\"[DronePilots] Load PilotTypes\");\r\n\r\nexport const loadPilotTypesSuccess = createAction(\r\n \"[DronePilots] Load PilotTypes Success\",\r\n props<{ data: PilotType[] }>()\r\n);\r\n\r\nexport const lloadPilotTypesFailure = createAction(\r\n \"[DronePilots] Load PilotTypes Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDronePilot = createAction(\r\n \"[DronePilots] load DronePilot\",\r\n props<{ data: string }>()\r\n);\r\n\r\nexport const loadDronePilotSuccess = createAction(\r\n \"[DronePilots] load DronePilot Success\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const loadDronePilotFailure = createAction(\r\n \"[DronePilots] load DronePilot Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addDronePilot = createAction(\r\n \"[DronePilots] Add DronePilots\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const addDronePilotSuccess = createAction(\r\n \"[DronePilots] Add DronePilots Success\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const addDronePilotFailure = createAction(\r\n \"[DronePilots] Add DronePilots Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateDronePilot = createAction(\r\n \"[DronePilots] UpdateDronePilot\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const updateDronePilotSuccess = createAction(\r\n \"[DronePilots] UpdateDronePilot Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateDronePilotFailure = createAction(\r\n \"[DronePilots] UpdateDronePilot Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteDronePilot = createAction(\r\n \"[DronePilots] DeleteDronePilot\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const deleteDronePilotSuccess = createAction(\r\n \"[DronePilots] DeleteDronePilot Success\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const deleteDronePilotFailure = createAction(\r\n \"[DronePilots] DeleteDronePilot Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\n\r\nexport const loadDrones = createAction(\"[Drones] Load Droness\");\r\n\r\nexport const loadDronesSuccess = createAction(\r\n \"[Drones] Load Droness Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDronesFailure = createAction(\r\n \"[Drones] Load Droness Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDroneModels = createAction(\"[Drones] Load Drones Models\");\r\n\r\nexport const loadDroneModelsSuccess = createAction(\r\n \"[Drones] Load Droness Models Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDroneModelsFailure = createAction(\r\n \"[Drones] Load Droness Models Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDronePayloads = createAction(\"[Drones] Load Drones Payloads\");\r\n\r\nexport const loadDronePayloadsSuccess = createAction(\r\n \"[Drones] Load Droness Payloads Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDronePayloadsFailure = createAction(\r\n \"[Drones] Load Droness Models Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDrone = createAction(\r\n \"[Drones] Load Drone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDroneSuccess = createAction(\r\n \"[Drones] Load Drone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDroneFailure = createAction(\r\n \"[Drones] Load Drone Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addDrone = createAction(\r\n \"[Drones] AddDrone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addDroneSuccess = createAction(\r\n \"[Drones] AddDrone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addDroneFailure = createAction(\r\n \"[Drones] AddDrone Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateDrone = createAction(\r\n \"[Drones] UpdateDrone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateDroneSuccess = createAction(\r\n \"[Drones] UpdateDrone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateDroneFailure = createAction(\r\n \"[Drones] UpdateDrone Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteDrone = createAction(\r\n \"[Drones] DeleteDrone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteDroneSuccess = createAction(\r\n \"[Drones] DeleteDrone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteDroneFailure = createAction(\r\n \"[Drones] DeleteDrone Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Field } from \"../../models/field.model\";\r\nimport { FieldImportWrapper } from \"../../models/field-import-wrapper.model\";\r\n\r\nexport const loadFields = createAction(\"[Field] Load Fields\");\r\n\r\nexport const loadFieldsSuccess = createAction(\r\n \"[Field] Load Fields Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadFieldsFailure = createAction(\r\n \"[Field] Load Fields Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadField = createAction(\r\n \"[Field] Load Field\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadFieldSuccess = createAction(\r\n \"[Field] Load Field Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadFieldFailure = createAction(\r\n \"[Field] Load Field Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addField = createAction(\r\n \"[Field] AddField\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addFieldSuccess = createAction(\r\n \"[Field] AddField Success\",\r\n props<{ data: Field }>()\r\n);\r\n\r\nexport const addFieldFailure = createAction(\r\n \"[Field] AddField Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateField = createAction(\r\n \"[Field] UpdateField\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateFieldSuccess = createAction(\r\n \"[Field] UpdateField Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateFieldFailure = createAction(\r\n \"[Field] UpdateField Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteField = createAction(\r\n \"[Field] DeleteField\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteFieldSuccess = createAction(\r\n \"[Field] DeleteField Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteFieldFailure = createAction(\r\n \"[Field] DeleteField Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const importFields = createAction(\r\n \"[Field] ImportFields\",\r\n props<{ data: FieldImportWrapper }>()\r\n);\r\n\r\nexport const importFieldsSuccess = createAction(\r\n \"[Field] ImportFields Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const importFieldsFailure = createAction(\r\n \"[Field] ImportFields Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Material } from \"../../models/material.model\";\r\n\r\nexport const loadMaterials = createAction(\"[Material] Load Materials\");\r\n\r\nexport const loadMaterialsSuccess = createAction(\r\n \"[Material] Load Materials Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadMaterialsFailure = createAction(\r\n \"[Material] Load Materials Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadMaterial = createAction(\r\n \"[Material] Load Material\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadMaterialSuccess = createAction(\r\n \"[Material] Load Material Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadMaterialFailure = createAction(\r\n \"[Material] Load Material Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addMaterial = createAction(\r\n \"[Material] AddMaterial\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addMaterialSuccess = createAction(\r\n \"[Material] AddMaterial Success\",\r\n props<{ data: Material }>()\r\n);\r\n\r\nexport const addMaterialFailure = createAction(\r\n \"[Material] AddMaterial Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateMaterial = createAction(\r\n \"[Material] UpdateMaterial\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateMaterialSuccess = createAction(\r\n \"[Material] UpdateMaterial Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateMaterialFailure = createAction(\r\n \"[Material] UpdateMaterial Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteMaterial = createAction(\r\n \"[Material] DeleteMaterial\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteMaterialSuccess = createAction(\r\n \"[Material] DeleteMaterial Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteMaterialFailure = createAction(\r\n \"[Material] DeleteMaterial Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { MapTask } from \"./../../models/map-task.model\";\r\nimport { Task } from \"./../../models/task.model\";\r\nimport { createAction, props } from \"@ngrx/store\";\r\n\r\nexport const loadPilotTasks = createAction(\r\n \"[PilotTasks] Load PilotTasks\",\r\n props<{ date?: Date }>()\r\n);\r\n\r\nexport const loadPilotTasksSuccess = createAction(\r\n \"[PilotTasks] Load PilotTasks Success\",\r\n props<{ tasks: Task[]; mapTasks: MapTask[] }>()\r\n);\r\n\r\nexport const loadPilotTasksFailure = createAction(\r\n \"[PilotTasks] Load PilotTasks Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadTaskById = createAction(\r\n \"[PilotTasks] Load taskById\",\r\n props<{ taskId: string }>()\r\n);\r\n\r\nexport const loadTaskByIdSuccess = createAction(\r\n \"[PilotTasks] Load taskById Success\",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const loadTaskByIdFailure = createAction(\r\n \"[PilotTasks] Load taskById Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateTask = createAction(\r\n \"[PilotTasks] updateTask \",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const updateTaskSuccess = createAction(\r\n \"[PilotTasks] updateTask Success\",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const updateTaskFailure = createAction(\r\n \"[PilotTasks] updateTask Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Protocol } from \"../../models/protocol.model\";\r\n\r\nexport const loadProtocols = createAction(\"[Protocol] Load Protocols\");\r\n\r\nexport const loadProtocolsSuccess = createAction(\r\n \"[Protocol] Load Protocols Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadProtocolsFailure = createAction(\r\n \"[Protocol] Load Protocols Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadProtocol = createAction(\r\n \"[Protocol] Load Protocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadProtocolSuccess = createAction(\r\n \"[Protocol] Load Protocol Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadProtocolFailure = createAction(\r\n \"[Protocol] Load Protocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addProtocol = createAction(\r\n \"[Protocol] AddProtocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addProtocolSuccess = createAction(\r\n \"[Protocol] AddProtocol Success\",\r\n props<{ data: Protocol }>()\r\n);\r\n\r\nexport const addProtocolFailure = createAction(\r\n \"[Protocol] AddProtocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateProtocol = createAction(\r\n \"[Protocol] UpdateProtocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateProtocolSuccess = createAction(\r\n \"[Protocol] UpdateProtocol Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateProtocolFailure = createAction(\r\n \"[Protocol] UpdateProtocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteProtocol = createAction(\r\n \"[Protocol] DeleteProtocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteProtocolSuccess = createAction(\r\n \"[Protocol] DeleteProtocol Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteProtocolFailure = createAction(\r\n \"[Protocol] DeleteProtocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { TaskFilterWrapper } from \"./../../models/task-filter-wrapper.model\";\r\nimport { createAction, props } from \"@ngrx/store\";\r\nimport { Task } from \"../../models/task.model\";\r\nimport { MapTask } from \"../../models/map-task.model\";\r\nimport { AssignTaskWrapper } from \"../../models/assignTaskWrapper.model\";\r\nimport { DroneRoute } from \"../../models/drone-route-model\";\r\n\r\nexport const loadTasks = createAction(\"[Task] Load Tasks\");\r\n\r\nexport const loadTasksSuccess = createAction(\r\n \"[Task] Load Tasks Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTasksFailure = createAction(\r\n \"[Task] Load Tasks Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteTask = createAction(\r\n \"[Task] DeleteTask\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTask = createAction(\r\n \"[Task] Load Task\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTaskSuccess = createAction(\r\n \"[Task] Load Task Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTaskFailure = createAction(\r\n \"[Task] Load Task Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateTask = createAction(\r\n \"[Task] update Task\",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const updateTaskSuccess = createAction(\r\n \"[Task] update Task Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateTaskFailure = createAction(\r\n \"[Task] update Task Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteTaskSuccess = createAction(\r\n \"[Task] DeleteTask Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteTaskFailure = createAction(\r\n \"[Task] DeleteTask Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadStatuses = createAction(\"[Task] loadStatuses\");\r\n\r\nexport const loadStatusesSuccess = createAction(\r\n \"[Task] loadStatuses Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadStatusesFailure = createAction(\r\n \"[Task] loadStatuses Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const importTasks = createAction(\r\n \"[Task] importTasks\",\r\n props<{ task: Task; file: File }>()\r\n);\r\n\r\nexport const importTasksSuccess = createAction(\r\n \"[Task] importTasks Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const importTasksFailure = createAction(\r\n \"[Task] importTasks Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const importTasksPreview = createAction(\r\n \"[Task] importTasksPreview\",\r\n props<{ task: Task; file: File }>()\r\n);\r\n\r\nexport const importTasksPreviewSuccess = createAction(\r\n \"[Task] importTasksPreview Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const importTasksPreviewFailure = createAction(\r\n \"[Task] importTasksPreview Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const filterTasks = createAction(\r\n \"[Task] filter tasks\",\r\n props<{ data: TaskFilterWrapper }>()\r\n);\r\n\r\nexport const filterTasksSuccess = createAction(\r\n \"[Task] filter tasks success\",\r\n props<{ data: MapTask[] }>()\r\n);\r\n\r\nexport const filterTasksFailed = createAction(\r\n \"[Task] filter tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const mapTaskSelected = createAction(\r\n \"[Task] map task selected\",\r\n props<{ mapTask: MapTask; selected: boolean }>()\r\n);\r\n\r\nexport const controllerMapTaskSelected = createAction(\r\n \"[Task] controller map task selected\",\r\n props<{ mapTask: MapTask; selected: boolean }>()\r\n);\r\n\r\nexport const mapTaskTableClick = createAction(\r\n \"[Task] map task table click\",\r\n props<{ data: MapTask }>()\r\n);\r\n\r\nexport const assignTasks = createAction(\r\n \"[Task] assign tasks\",\r\n props<{ data: AssignTaskWrapper }>()\r\n);\r\n\r\nexport const assignTasksSuccess = createAction(\"[Task] assign tasks success\");\r\n\r\nexport const assignTasksFailed = createAction(\r\n \"[Task] assign tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const assignControllerTasks = createAction(\r\n \"[Task] assign controller tasks\",\r\n props<{ data: AssignTaskWrapper }>()\r\n);\r\n\r\nexport const assignControllerTasksSuccess = createAction(\r\n \"[Task] assign controller tasks success\"\r\n);\r\n\r\nexport const assignControllerTasksFailed = createAction(\r\n \"[Task] assign controller tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const filterControllerTasks = createAction(\r\n \"[Task] filter Controller tasks\",\r\n props<{ data: TaskFilterWrapper }>()\r\n);\r\n\r\nexport const filterControllerTasksSuccess = createAction(\r\n \"[Task] filter Controller tasks success\",\r\n props<{ mapTasks: MapTask[]; droneRoutes: DroneRoute[] }>()\r\n);\r\n\r\nexport const filterControllerTasksFailed = createAction(\r\n \"[Task] filter Controller tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const filterCompletedTasks = createAction(\r\n \"[Task] filter Completed tasks\",\r\n props<{ data: TaskFilterWrapper }>()\r\n);\r\n\r\nexport const filterCompletedTasksSuccess = createAction(\r\n \"[Task] filter Completed tasks success\",\r\n props<{ tasks: Task[] }>()\r\n);\r\n\r\nexport const filterCompletedTasksFailed = createAction(\r\n \"[Task] filter Completed tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { User } from \"../../auth/_models/user.model\";\r\n\r\nexport const loadUsers = createAction(\"[User] Load Users !!!\");\r\n\r\nexport const loadUsersSuccess = createAction(\r\n \"[User] Load Users Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUsersFailure = createAction(\r\n \"[User] Load Users Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadRoleTypes = createAction(\"[User] Load RoleTypes\");\r\n\r\nexport const loadRoleTypesSuccess = createAction(\r\n \"[User] Load RoleTypes Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadRoleTypesFailure = createAction(\r\n \"[User] Load RoleTypes Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadUser = createAction(\r\n \"[User] Load User\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUserSuccess = createAction(\r\n \"[User] Load User Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUserFailure = createAction(\r\n \"[User] Load User Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addUser = createAction(\"[User] AddUser\", props<{ data: any }>());\r\n\r\nexport const addUserSuccess = createAction(\r\n \"[User] AddUser Success\",\r\n props<{ data: User }>()\r\n);\r\n\r\nexport const addUserFailure = createAction(\r\n \"[User] AddUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateUser = createAction(\r\n \"[User] UpdateUser\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateUserSuccess = createAction(\r\n \"[User] UpdateUser Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateUserFailure = createAction(\r\n \"[User] UpdateUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteUser = createAction(\r\n \"[User] DeleteUser\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteUserSuccess = createAction(\r\n \"[User] DeleteUser Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteUserFailure = createAction(\r\n \"[User] DeleteUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { NgxPermissionsService } from \"ngx-permissions\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of, defer } from \"rxjs\";\r\n\r\nimport * as AuthActions from \"../actions/auth.actions\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { LayoutUtilsService } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { loadUserProfile } from \"../actions/auth.actions\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable()\r\nexport class AuthEffects {\r\n login$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(AuthActions.login),\r\n concatMap((action) =>\r\n this.authService.login(action.username, action.password).pipe(\r\n map((data) => {\r\n this.router.navigateByUrl(\"/dashboard\");\r\n return AuthActions.loginSuccess({ data: data.authToken });\r\n }),\r\n catchError((error) => {\r\n let message = \"error\";\r\n\r\n if (error.status == 400 && error.error.Message == \"login failed\") {\r\n message = \"Username or password incorrect.\";\r\n } else {\r\n message = \"Login failed, please try again later.\";\r\n }\r\n\r\n return of(AuthActions.loginFailure({ error: message }));\r\n })\r\n )\r\n )\r\n );\r\n });\r\n\r\n loginSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.loginSuccess),\r\n tap((action) => {\r\n localStorage.setItem(environment.authTokenKey, action.data);\r\n this.store.dispatch(loadUserProfile());\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n loadUserProfile$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(AuthActions.loadUserProfile),\r\n concatMap((action) =>\r\n this.authService.getUserByToken().pipe(\r\n map((data) => AuthActions.loadUserProfileSuccess({ data })),\r\n catchError((error) =>\r\n of(AuthActions.loadUserProfileFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadUserProfileSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.loadUserProfileSuccess),\r\n tap((action) => {\r\n this.permissionService.loadPermissions([action.data.roleType.name]);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n logout$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.logout),\r\n tap((action) => {\r\n localStorage.clear();\r\n this.router.navigateByUrl(\"/auth/login\");\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n init$ = createEffect(() =>\r\n defer(() => {\r\n const userToken = localStorage.getItem(environment.authTokenKey);\r\n let observableResult = of({ type: \"NO_ACTION\" });\r\n if (userToken) {\r\n observableResult = of(AuthActions.loginSuccess({ data: userToken }));\r\n // this.store.dispatch(loadUserProfile());\r\n }\r\n return observableResult;\r\n })\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private authService: AuthService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private permissionService: NgxPermissionsService,\r\n private store: Store\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as CustomerActions from \"../actions/customer.actions\";\r\nimport { CustomersService } from \"../../services/customers.service\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class CustomerEffects {\r\n loadCustomers$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.loadCustomers),\r\n concatMap(() =>\r\n this.customersService.getAllCustomers().pipe(\r\n map((data) => {\r\n return CustomerActions.loadCustomersSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.loadCustomersFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.loadCustomer),\r\n concatMap((action) =>\r\n this.customersService.getCustomerById(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.loadCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.loadCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.addCustomer),\r\n concatMap((action) =>\r\n this.customersService.addCustomer(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.addCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.addCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addCustomerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.addCustomerSuccess),\r\n tap((action) => {\r\n const message = `Customer successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"customers\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addCustomerFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.addCustomerFailure),\r\n tap((action) => {\r\n const message = `Customer add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.updateCustomer),\r\n concatMap((action) =>\r\n this.customersService.updateCustomer(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.updateCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.updateCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateCustomerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.updateCustomerSuccess),\r\n tap((action) => {\r\n const message = `Customer successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"customers\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateCustomerFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.updateCustomerFailure),\r\n tap((action) => {\r\n const message = `Customer update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.deleteCustomer),\r\n concatMap((action) =>\r\n this.customersService.deleteCustomer(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.deleteCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.deleteCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteCustomerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.deleteCustomerSuccess),\r\n tap((action) => {\r\n const message = `Customer successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private customersService: CustomersService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as DronePilotsActions from \"../actions/drone-pilots.actions\";\r\nimport { DronePilotsService } from \"../../services/drone-pilots.service\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class DronePilotsEffects {\r\n loadDronePilots$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.loadDronePilots),\r\n concatMap(() =>\r\n this.dronePilotsService.getAllDronePilots().pipe(\r\n map((data) => {\r\n return DronePilotsActions.loadDronePilotsSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.loadDronePilotsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadPilotTypes$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.loadPilotTypes),\r\n concatMap(() =>\r\n this.dronePilotsService.getAllPilotTypes().pipe(\r\n map((data) => {\r\n return DronePilotsActions.loadPilotTypesSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.loadDronePilotsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDronePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.loadDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.getPilotById(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.loadDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.loadDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDronePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.addDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.addDronePilot(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.addDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.addDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDronePilotSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.addDronePilotSuccess),\r\n tap((action) => {\r\n const message = `Drone pilot successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"drone-pilots\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addDronePilotFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.addDronePilotFailure),\r\n tap((action) => {\r\n const message = `Drone pilot add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updatePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.updateDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.updatePilot(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.updateDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.updateDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updatePilotSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.updateDronePilotSuccess),\r\n tap((action) => {\r\n const message = `Drone pilot successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"drone-pilots\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deletePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.deleteDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.deletePilot(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.deleteDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.deleteDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deletePilotSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.deleteDronePilotFailure),\r\n tap((action) => {\r\n const message = `Drone pilot successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private dronePilotsService: DronePilotsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as DronesActions from \"../actions/drones.actions\";\r\nimport { DronesService } from \"../../services/drones.service\";\r\nimport { props } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class DronesEffects {\r\n loadDrones$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDrones),\r\n concatMap(() =>\r\n this.dronesService.getAllDrones().pipe(\r\n map((data) => {\r\n return DronesActions.loadDronesSuccess({ data });\r\n }),\r\n catchError((error) => \r\n of(DronesActions.loadDronesFailure({ error })\r\n ))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDroneModels$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDroneModels),\r\n concatMap(() =>\r\n this.dronesService.getAllModels().pipe(\r\n map((data) => {\r\n return DronesActions.loadDroneModelsSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.loadDroneModelsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDronePayloads$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDronePayloads),\r\n concatMap(() =>\r\n this.dronesService.getAllPayloads().pipe(\r\n map((data) => {\r\n return DronesActions.loadDronePayloadsSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.loadDronePayloadsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDrone),\r\n concatMap((action) =>\r\n this.dronesService.getDroneById(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.loadDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.loadDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.addDrone),\r\n concatMap((action) =>\r\n this.dronesService.addDrone(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.addDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.addDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDroneSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.addDroneSuccess),\r\n tap((action) => {\r\n const message = `Drone successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"drones\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addDroneFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.addDroneFailure),\r\n tap((action) => {\r\n const message = `Drone add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error)\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.updateDrone),\r\n concatMap((action) =>\r\n this.dronesService.updateDrone(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.updateDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.updateDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateDroneSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.updateDroneSuccess),\r\n tap((action) => {\r\n const message = `Drone successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"drones\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateDroneFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.updateDroneFailure),\r\n tap((action) => {\r\n const message = `Drone update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error)\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.deleteDrone),\r\n concatMap((action) =>\r\n this.dronesService.deleteDrone(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.deleteDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.deleteDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteDroneSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.deleteDroneSuccess),\r\n tap((action) => {\r\n const message = `Drone successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private dronesService: DronesService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { importFieldsFailure } from \"./../actions/field.actions\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as FieldActions from \"../actions/field.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { FieldsService } from \"../../services/fields.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class FieldEffects {\r\n loadFields$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.loadFields),\r\n concatMap(() =>\r\n this.fieldsService.getAllFields().pipe(\r\n map((data) => {\r\n return FieldActions.loadFieldsSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.loadFieldsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.loadField),\r\n concatMap((action) =>\r\n this.fieldsService.getFieldById(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.loadFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.loadFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.addField),\r\n concatMap((action) =>\r\n this.fieldsService.addField(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.addFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.addFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addFieldSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.addFieldSuccess),\r\n tap((action) => {\r\n const message = `Field successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"fields\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addFieldFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.addFieldFailure),\r\n tap((action) => {\r\n const message = `Field add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.updateField),\r\n concatMap((action) =>\r\n this.fieldsService.updateField(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.updateFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.updateFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateFieldSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.updateFieldSuccess),\r\n tap((action) => {\r\n const message = `Field successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"fields\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateFieldFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.updateFieldFailure),\r\n tap((action) => {\r\n const message = `Field update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.deleteField),\r\n concatMap((action) =>\r\n this.fieldsService.deleteField(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.deleteFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.deleteFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteFieldSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.deleteFieldSuccess),\r\n tap((action) => {\r\n const message = `Field successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n importField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.importFields),\r\n concatMap((action) =>\r\n this.fieldsService.importFields(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.importFieldsSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.importFieldsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n importFieldsSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.importFieldsSuccess),\r\n tap((action) => {\r\n const message = `Fields imported from server successfully.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private fieldsService: FieldsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as MaterialActions from \"../actions/material.actions\";\r\nimport { MaterialsService } from \"../../services/materials.service\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class MaterialEffects {\r\n loadMaterials$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.loadMaterials),\r\n concatMap(() =>\r\n this.materialsService.getAllMaterials().pipe(\r\n map((data) => {\r\n return MaterialActions.loadMaterialsSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.loadMaterialsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.loadMaterial),\r\n concatMap((action) =>\r\n this.materialsService.getMaterialById(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.loadMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.loadMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.addMaterial),\r\n concatMap((action) =>\r\n this.materialsService.addMaterial(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.addMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.addMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addMaterialSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.addMaterialSuccess),\r\n tap((action) => {\r\n const message = `Material successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"materials\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addMaterialFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.addMaterialFailure),\r\n tap((action) => {\r\n const message = `Material add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.updateMaterial),\r\n concatMap((action) =>\r\n this.materialsService.updateMaterial(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.updateMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.updateMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateMaterialSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.updateMaterialSuccess),\r\n tap((action) => {\r\n const message = `Material successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"materials\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateMaterialFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.updateMaterialFailure),\r\n tap((action) => {\r\n const message = `Material update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.deleteMaterial),\r\n concatMap((action) =>\r\n this.materialsService.deleteMaterial(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.deleteMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.deleteMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteMaterialSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.deleteMaterialSuccess),\r\n tap((action) => {\r\n const message = `Material successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private materialsService: MaterialsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { TasksService } from \"./../../services/tasks.service\";\r\nimport { PilotTasksService } from \"./../../services/pilot-tasks.service\";\r\nimport { currentUser } from \"./../../auth/_selectors/auth.selectors\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport {\r\n catchError,\r\n map,\r\n concatMap,\r\n withLatestFrom,\r\n filter,\r\n tap,\r\n switchMap,\r\n} from \"rxjs/operators\";\r\nimport { EMPTY, of, pipe } from \"rxjs\";\r\n\r\nimport * as PilotTasksActions from \"../actions/pilot-tasks.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\n\r\n@Injectable()\r\nexport class PilotTasksEffects {\r\n loadPilotTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(PilotTasksActions.loadPilotTasks),\r\n pipe(withLatestFrom(this.store.select(currentUser))),\r\n switchMap(([action, user]) => {\r\n return this.pilotTasksService\r\n .getPilotTasks(user.pilot.pilotId, action.date)\r\n .pipe(\r\n map((result) => {\r\n return PilotTasksActions.loadPilotTasksSuccess({\r\n tasks: result.tasks,\r\n mapTasks: result.mapTasks,\r\n });\r\n }),\r\n catchError((error) =>\r\n of(PilotTasksActions.loadPilotTasksFailure({ error }))\r\n )\r\n );\r\n })\r\n );\r\n });\r\n\r\n loadTaskById$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(PilotTasksActions.loadTaskById),\r\n concatMap((action) =>\r\n this.tasksService.getTaskById(action.taskId).pipe(\r\n map((data) => {\r\n return PilotTasksActions.loadTaskByIdSuccess({ task: data });\r\n }),\r\n catchError((error) =>\r\n of(PilotTasksActions.loadTaskByIdFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(PilotTasksActions.updateTask),\r\n concatMap((action) =>\r\n this.tasksService.updateTask(action.task).pipe(\r\n map((data) => {\r\n return PilotTasksActions.updateTaskSuccess({ task: action.task });\r\n }),\r\n catchError((error) =>\r\n of(PilotTasksActions.updateTaskFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(PilotTasksActions.updateTaskSuccess),\r\n tap((action) => {\r\n const message = \"Task status updated\";\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private pilotTasksService: PilotTasksService,\r\n private tasksService: TasksService\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as ProtocolActions from \"../actions/protocol.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { ProtocolsService } from \"../../services/protocols.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class ProtocolEffects {\r\n loadProtocols$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.loadProtocols),\r\n concatMap(() =>\r\n this.protocolsService.getAllProtocols().pipe(\r\n map((data) => {\r\n return ProtocolActions.loadProtocolsSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.loadProtocolsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.loadProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.getProtocolById(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.loadProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.loadProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.addProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.addProtocol(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.addProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.addProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addProtocolSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.addProtocolSuccess),\r\n tap((action) => {\r\n const message = `Protocol successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"protocols\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addProtocolFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.addProtocolFailure),\r\n tap((action) => {\r\n const message = `Protocol add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.updateProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.updateProtocol(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.updateProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.updateProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateProtocolSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.updateProtocolSuccess),\r\n tap((action) => {\r\n const message = `Protocol successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"protocols\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateProtocolFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.updateProtocolFailure),\r\n tap((action) => {\r\n const message = `Protocol update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.deleteProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.deleteProtocol(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.deleteProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.deleteProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteProtocolSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.deleteProtocolSuccess),\r\n tap((action) => {\r\n const message = `Protocol successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private protocolsService: ProtocolsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport {\r\n catchError,\r\n map,\r\n concatMap,\r\n tap,\r\n switchMap,\r\n withLatestFrom,\r\n} from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as TaskActions from \"../actions/task.actions\";\r\nimport { TasksService } from \"../../services/tasks.service\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { TaskState } from \"../reducers/task.reducer\";\r\nimport { selectTaskFilterWrapper } from \"../selectors/task.selectors\";\r\nimport { filterControllerTasks } from \"../actions/task.actions\";\r\n\r\n@Injectable()\r\nexport class TaskEffects {\r\n loadTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.loadTasks),\r\n concatMap(() =>\r\n this.tasksService.getAllTasks().pipe(\r\n map((data) => {\r\n return TaskActions.loadTasksSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.loadTasksFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.loadTask),\r\n concatMap((action) =>\r\n this.tasksService.getTaskById(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.loadTaskSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.loadTaskFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.updateTask),\r\n concatMap((action) =>\r\n this.tasksService.updateTask(action.task).pipe(\r\n map((data) => {\r\n return TaskActions.updateTaskSuccess({ data: action.task });\r\n }),\r\n catchError((error) => of(TaskActions.updateTaskFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.updateTaskSuccess),\r\n tap((action) => {\r\n const message = \"Task updated successfully\";\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n false\r\n );\r\n //commented this because it redirects back to planning tool when updating from tasks list\r\n //this.router.navigateByUrl(\"tasks/map\");\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.filterTasks),\r\n concatMap((action) =>\r\n this.tasksService.filterTasks(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.filterTasksSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.filterTasksFailed({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n filterTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.filterTasksSuccess),\r\n tap((action) => {\r\n const message = action.data.length + ` tasks filtered`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterTaskControllerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.filterControllerTasksSuccess),\r\n tap((action) => {\r\n const message =\r\n action.mapTasks.length +\r\n ` tasks filtered. ` +\r\n action.droneRoutes.length +\r\n ` drone routes filtered`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterControllerTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.filterControllerTasks),\r\n concatMap((action) =>\r\n this.tasksService.filterControllerTasks(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.filterControllerTasksSuccess({\r\n mapTasks: data.mapTasks,\r\n droneRoutes: data.droneRoutes,\r\n });\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.filterControllerTasksFailed({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n filterCompletedTasksSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.filterCompletedTasksSuccess),\r\n tap((action) => {\r\n const message = action.tasks.length + ` tasks filtered`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterCompletedTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.filterCompletedTasks),\r\n concatMap((action) =>\r\n this.tasksService.filterCompletedTasks(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.filterCompletedTasksSuccess({ tasks: data });\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.filterCompletedTasksFailed({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n assignTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.assignTasks),\r\n concatMap((action) =>\r\n this.tasksService.assignTasks(action.data).pipe(\r\n map(() => {\r\n return TaskActions.assignTasksSuccess();\r\n }),\r\n catchError((error) => of(TaskActions.assignTasksFailed({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n assignControllerTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.assignControllerTasks),\r\n concatMap((action) =>\r\n this.tasksService.assignControllerTasks(action.data).pipe(\r\n map(() => {\r\n return TaskActions.assignControllerTasksSuccess();\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.assignControllerTasksFailed({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n assignTaskSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.assignTasksSuccess),\r\n concatMap(() =>\r\n of([]).pipe(\r\n withLatestFrom(this.store$.select(selectTaskFilterWrapper)),\r\n map(([action, filterWrapper]) => {\r\n const message = `Tasks assign successfully`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n return TaskActions.filterTasks({\r\n data: filterWrapper,\r\n });\r\n })\r\n )\r\n )\r\n )\r\n );\r\n\r\n assignControllerTaskSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.assignControllerTasksSuccess),\r\n concatMap(() =>\r\n of([]).pipe(\r\n withLatestFrom(this.store$.select(selectTaskFilterWrapper)),\r\n map(([action, filterWrapper]) => {\r\n const message = `Tasks assign successfully`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n return TaskActions.filterTasks({\r\n data: filterWrapper,\r\n });\r\n })\r\n )\r\n )\r\n )\r\n );\r\n\r\n loadStatuses$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.loadStatuses),\r\n concatMap(() =>\r\n this.tasksService.getStauses().pipe(\r\n map((data) => {\r\n return TaskActions.loadStatusesSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.loadStatusesFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.deleteTask),\r\n concatMap((action) =>\r\n this.tasksService.deleteTask(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.deleteTaskSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.deleteTaskFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.deleteTaskSuccess),\r\n tap((action) => {\r\n const message = `Task successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n importTasksPreview$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.importTasksPreview),\r\n concatMap((action) =>\r\n this.tasksService.importTasks(action.task, action.file, true).pipe(\r\n map((data) => {\r\n return TaskActions.importTasksPreviewSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.importTasksPreviewFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n importTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.importTasks),\r\n concatMap((action) =>\r\n this.tasksService.importTasks(action.task, action.file).pipe(\r\n map((data) => {\r\n return TaskActions.importTasksSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.importTasksFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n importTasksSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.importTasksSuccess),\r\n tap((action) => {\r\n const message = `Task successfully has been imported.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private tasksService: TasksService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private store$: Store\r\n ) {}\r\n}\r\n","import { Store } from \"@ngrx/store\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport {\r\n catchError,\r\n map,\r\n concatMap,\r\n tap,\r\n withLatestFrom,\r\n filter,\r\n} from \"rxjs/operators\";\r\nimport { EMPTY, of, pipe } from \"rxjs\";\r\n\r\nimport * as UserActions from \"../actions/user.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { UsersService } from \"../../services/users.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { selectRoleTypes } from \"../selectors/user.selectors\";\r\nimport { UserState } from \"../reducers/user.reducer\";\r\n\r\n@Injectable()\r\nexport class UserEffects {\r\n loadUsers$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.loadUsers),\r\n concatMap(() =>\r\n this.usersService.getAllUsers().pipe(\r\n map((data) => {\r\n return UserActions.loadUsersSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.loadUsersFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.loadUser),\r\n concatMap((action) =>\r\n this.usersService.getUserById(action.data).pipe(\r\n map((data) => {\r\n return UserActions.loadUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.loadUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadRoleTypes$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.loadRoleTypes),\r\n pipe(\r\n withLatestFrom(this.store.select(selectRoleTypes)),\r\n filter(([action, data]) => data == null)\r\n ),\r\n concatMap(() =>\r\n this.usersService.getAllRoleTypes().pipe(\r\n map((data) => {\r\n return UserActions.loadRoleTypesSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.loadRoleTypesFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.addUser),\r\n concatMap((action) =>\r\n this.usersService.addUser(action.data).pipe(\r\n map((data) => {\r\n return UserActions.addUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.addUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addUserSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.addUserSuccess),\r\n tap((action) => {\r\n const message = `User successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"user-management/users\"], {\r\n relativeTo: this.route,\r\n });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addUserFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.addUserFailure),\r\n tap((action) => {\r\n const message = `User add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.updateUser),\r\n concatMap((action) =>\r\n this.usersService.updateUser(action.data).pipe(\r\n map((data) => {\r\n return UserActions.updateUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.updateUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateUserSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.updateUserSuccess),\r\n tap((action) => {\r\n const message = `User successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"user-management/users\"], {\r\n relativeTo: this.route,\r\n });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateUserFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.updateUserFailure),\r\n tap((action) => {\r\n const message = `User update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.deleteUser),\r\n concatMap((action) =>\r\n this.usersService.deleteUser(action.data).pipe(\r\n map((data) => {\r\n return UserActions.deleteUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.deleteUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteUserSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.deleteUserSuccess),\r\n tap((action) => {\r\n const message = `User successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private usersService: UsersService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private store: Store\r\n ) {}\r\n}\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as AuthActions from \"../actions/auth.actions\";\r\nimport { User } from \"../../auth/_models/user.model\";\r\n\r\nexport const authFeatureKey = \"auth\";\r\n\r\nexport interface AuthState {\r\n loggedIn: boolean;\r\n currentUser: User;\r\n error: any;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: AuthState = {\r\n loggedIn: false,\r\n currentUser: null,\r\n error: null,\r\n loading: false,\r\n};\r\n\r\nconst authReducer = createReducer(\r\n initialState,\r\n on(AuthActions.login, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(AuthActions.loginSuccess, (state) => ({\r\n ...state,\r\n loading: false,\r\n loggedIn: true,\r\n })),\r\n on(AuthActions.loginFailure, (state, action) => ({\r\n ...state,\r\n error: action.error,\r\n loading: false,\r\n })),\r\n\r\n on(AuthActions.logout, (state) => ({\r\n ...state,\r\n loggedIn: false,\r\n currentUser: null,\r\n })),\r\n\r\n on(AuthActions.loadUserProfile, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(AuthActions.loadUserProfileSuccess, (state, action) => {\r\n return {\r\n ...state,\r\n currentUser: action.data,\r\n loading: false,\r\n };\r\n }),\r\n on(AuthActions.loadUserProfileFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: AuthState | undefined, action: Action) {\r\n return authReducer(state, action);\r\n}\r\n","import { Action, createReducer, on, State } from \"@ngrx/store\";\r\nimport * as CustomerActions from \"../actions/customer.actions\";\r\nimport { Customer } from \"../../models/customer.model\";\r\nimport { EntityAdapter, createEntityAdapter, EntityState } from \"@ngrx/entity\";\r\n\r\nexport const customerFeatureKey = \"customer\";\r\n\r\nexport interface CustomersState extends EntityState {\r\n loading: boolean;\r\n currentCustomer: Customer;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (customer: Customer) => customer.customerId,\r\n});\r\n\r\nexport const initialState: CustomersState = adapter.getInitialState({\r\n loading: false,\r\n currentCustomer: null,\r\n});\r\n\r\nconst customerReducer = createReducer(\r\n initialState,\r\n\r\n on(CustomerActions.loadCustomers, (state) => state),\r\n on(CustomerActions.loadCustomersSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(CustomerActions.loadCustomersFailure, (state, action) => state),\r\n\r\n on(CustomerActions.addCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.addCustomerSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(CustomerActions.addCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(CustomerActions.updateCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.updateCustomerSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(CustomerActions.updateCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(CustomerActions.deleteCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.deleteCustomerSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.customerId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(CustomerActions.addCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(CustomerActions.loadCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.loadCustomerSuccess, (state, action) => {\r\n return { ...state, currentCustomer: action.data, loading: false };\r\n }),\r\n on(CustomerActions.loadCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: CustomersState | undefined, action: Action) {\r\n return customerReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as DronePilotsActions from \"../actions/drone-pilots.actions\";\r\nimport { EntityAdapter, EntityState, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { DronePilot } from \"../../models/drone-pilot.model\";\r\nimport { PilotType } from \"../../models/pilot-type.model\";\r\n\r\nexport const dronePilotsFeatureKey = \"dronePilots\";\r\n\r\nexport interface DronePilotsState extends EntityState {\r\n loading: boolean;\r\n currentDronePilot: DronePilot;\r\n pilotTypes: PilotType[];\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter<\r\n DronePilot\r\n>({\r\n selectId: (dronePilot: DronePilot) => dronePilot.pilotId,\r\n});\r\n\r\nexport const initialDronePilotState: DronePilotsState = adapter.getInitialState(\r\n {\r\n loading: false,\r\n currentDronePilot: null,\r\n pilotTypes: null,\r\n }\r\n);\r\n\r\nconst dronePilotsReducer = createReducer(\r\n initialDronePilotState,\r\n\r\n on(DronePilotsActions.loadDronePilots, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.loadDronePilotsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(DronePilotsActions.loadDronePilotsFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.loadPilotTypesSuccess, (state, action) => {\r\n return { ...state, pilotTypes: action.data };\r\n }),\r\n\r\n on(DronePilotsActions.addDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.addDronePilotSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(DronePilotsActions.addDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.updateDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.updateDronePilotSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(DronePilotsActions.updateDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.deleteDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.deleteDronePilotSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.pilotId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(DronePilotsActions.addDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.loadDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.loadDronePilotSuccess, (state, action) => {\r\n return { ...state, currentDronePilot: action.data, loading: false };\r\n }),\r\n on(DronePilotsActions.loadDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: DronePilotsState | undefined, action: Action) {\r\n return dronePilotsReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","//ng generate feature Drones -m ../../views/pages/drones/drones.module.ts --skipTest --group\r\n\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as DronesActions from \"../actions/drones.actions\";\r\nimport { Drone } from \"../../models/drone.model\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { DroneModel } from '../../models/drone-model.model';\r\nimport { DronePayload } from '../../models/drone-payload.model';\r\n\r\nexport const dronesFeatureKey = \"drones\";\r\n\r\nexport interface DroneState extends EntityState {\r\n loading: boolean;\r\n currentDrone: Drone;\r\n models: DroneModel[];\r\n payloads: DronePayload[];\r\n\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (drone: Drone) => drone.droneId,\r\n});\r\n\r\nexport const initialDroneState: DroneState = adapter.getInitialState({\r\n loading: false,\r\n currentDrone: null,\r\n models: null,\r\n payloads: null\r\n});\r\n\r\nconst dronesReducer = createReducer(\r\n initialDroneState,\r\n\r\n on(DronesActions.loadDrones, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.loadDronesSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(DronesActions.loadDronesFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.loadDroneModelsSuccess, (state, action) => {\r\n return { ...state, models: action.data };\r\n }),\r\n\r\n on(DronesActions.loadDronePayloadsSuccess, (state, action) => {\r\n return { ...state, payloads: action.data };\r\n }),\r\n\r\n on(DronesActions.loadDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.loadDroneSuccess, (state, action) => {\r\n return { ...state, currentDrone: action.data, loading: false };\r\n }),\r\n on(DronesActions.loadDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.addDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.addDroneSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(DronesActions.addDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.updateDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.updateDroneSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(DronesActions.updateDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.deleteDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.deleteDroneSuccess, (state, action) => {\r\n return { ...adapter.removeOne(action.data.droneId, state), loading: false };\r\n }),\r\n on(DronesActions.deleteDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: DroneState | undefined, action: Action) {\r\n return dronesReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as FieldActions from \"../actions/field.actions\";\r\nimport { Field } from \"../../models/field.model\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\n\r\nexport const fieldFeatureKey = \"field\";\r\n\r\nexport interface FieldState extends EntityState {\r\n loading: boolean;\r\n currentField: Field;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (field: Field) => field.fieldId,\r\n});\r\n\r\nexport const initialState: FieldState = adapter.getInitialState({\r\n loading: false,\r\n currentField: null,\r\n});\r\n\r\nconst fieldReducer = createReducer(\r\n initialState,\r\n\r\n on(FieldActions.loadFields, (state) => state),\r\n on(FieldActions.loadFieldsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(FieldActions.loadFieldsFailure, (state, action) => state),\r\n\r\n on(FieldActions.addField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.addFieldSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(FieldActions.addFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.updateField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.updateFieldSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(FieldActions.updateFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.deleteField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.deleteFieldSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.fieldId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(FieldActions.addFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.loadField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.loadFieldSuccess, (state, action) => {\r\n return { ...state, currentField: action.data, loading: false };\r\n }),\r\n on(FieldActions.loadFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.importFields, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.importFieldsSuccess, (state, action) => {\r\n return { ...state, loading: false };\r\n }),\r\n on(FieldActions.loadFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: FieldState | undefined, action: Action) {\r\n return fieldReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as MaterialActions from \"../actions/material.actions\";\r\nimport { Material } from \"../../models/material.model\";\r\nimport { EntityAdapter, createEntityAdapter, EntityState } from \"@ngrx/entity\";\r\n\r\nexport const materialFeatureKey = \"material\";\r\n\r\nexport interface MaterialState extends EntityState {\r\n loading: boolean;\r\n currentMaterial: Material;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (material: Material) => material.materialId,\r\n});\r\n\r\nexport const initialMaterialState: MaterialState = adapter.getInitialState({\r\n loading: false,\r\n currentMaterial: null,\r\n});\r\n\r\nconst materialReducer = createReducer(\r\n initialMaterialState,\r\n\r\n on(MaterialActions.loadMaterials, (state) => state),\r\n on(MaterialActions.loadMaterialsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(MaterialActions.loadMaterialsFailure, (state, action) => state),\r\n\r\n on(MaterialActions.addMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.addMaterialSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(MaterialActions.addMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(MaterialActions.updateMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.updateMaterialSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(MaterialActions.updateMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(MaterialActions.deleteMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.deleteMaterialSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.materialId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(MaterialActions.addMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(MaterialActions.loadMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.loadMaterialSuccess, (state, action) => {\r\n return { ...state, currentMaterial: action.data, loading: false };\r\n }),\r\n on(MaterialActions.loadMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: MaterialState | undefined, action: Action) {\r\n return materialReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { updateTask } from \"./../actions/task.actions\";\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as PilotTasksActions from \"../actions/pilot-tasks.actions\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { Task } from \"../../models/task.model\";\r\nimport { MapTask } from \"../../models/map-task.model\";\r\n\r\nexport const pilotTasksFeatureKey = \"pilotTasks\";\r\n\r\nexport interface State extends EntityState {\r\n loading: boolean;\r\n currentTask: Task;\r\n mapTasks: MapTask[];\r\n selectedDate: Date;\r\n}\r\n\r\nexport const allTasksAdapter: EntityAdapter = createEntityAdapter({\r\n selectId: (task: Task) => task.taskId,\r\n});\r\n\r\nexport const initialState: State = allTasksAdapter.getInitialState({\r\n loading: false,\r\n currentTask: null,\r\n mapTasks: null,\r\n selectedDate: new Date(),\r\n});\r\n\r\nconst pilotTasksReducer = createReducer(\r\n initialState,\r\n\r\n on(PilotTasksActions.loadPilotTasks, (state, action) => {\r\n return {\r\n ...state,\r\n selectedDate: action.date,\r\n loading: true,\r\n };\r\n }),\r\n on(PilotTasksActions.loadPilotTasksSuccess, (state, action) => {\r\n return {\r\n ...allTasksAdapter.setAll(action.tasks, state),\r\n mapTasks: action.mapTasks,\r\n loading: false,\r\n };\r\n }),\r\n\r\n on(PilotTasksActions.updateTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n\r\n on(\r\n PilotTasksActions.loadPilotTasksFailure,\r\n PilotTasksActions.updateTaskFailure,\r\n (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })\r\n ),\r\n on(PilotTasksActions.loadTaskById, (state, action) => ({\r\n ...state,\r\n currentTask: null,\r\n })),\r\n on(PilotTasksActions.loadTaskByIdSuccess, (state, action) => ({\r\n ...state,\r\n currentTask: action.task,\r\n })),\r\n\r\n on(PilotTasksActions.updateTaskSuccess, (state, action) => {\r\n let mapTasks = [...state.mapTasks];\r\n let index = mapTasks.findIndex((m) => m.task.taskId == action.task.taskId);\r\n mapTasks[index] = new MapTask(action.task, false);\r\n\r\n return {\r\n ...allTasksAdapter.updateOne(\r\n { id: action.task.taskId, changes: action.task },\r\n state\r\n ),\r\n mapTasks: mapTasks,\r\n //currentTask: action.task,\r\n loading: false,\r\n };\r\n })\r\n);\r\n\r\nexport function reducer(state: State | undefined, action: Action) {\r\n return pilotTasksReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = allTasksAdapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as ProtocolActions from \"../actions/protocol.actions\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { Protocol } from \"../../models/protocol.model\";\r\n\r\nexport const protocolFeatureKey = \"protocol\";\r\n\r\nexport interface ProtocolState extends EntityState {\r\n loading: boolean;\r\n currentProtocol: Protocol;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (protocol: Protocol) => protocol.protocolId,\r\n});\r\n\r\nexport const initialState: ProtocolState = adapter.getInitialState({\r\n loading: false,\r\n currentProtocol: null,\r\n});\r\n\r\nconst protocolReducer = createReducer(\r\n initialState,\r\n\r\n on(ProtocolActions.loadProtocols, (state) => state),\r\n on(ProtocolActions.loadProtocolsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(ProtocolActions.loadProtocolsFailure, (state, action) => state),\r\n\r\n on(ProtocolActions.addProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.addProtocolSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(ProtocolActions.addProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(ProtocolActions.updateProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.updateProtocolSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(ProtocolActions.updateProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(ProtocolActions.deleteProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.deleteProtocolSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.protocolId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(ProtocolActions.addProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(ProtocolActions.loadProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.loadProtocolSuccess, (state, action) => {\r\n return { ...state, currentProtocol: action.data, loading: false };\r\n }),\r\n on(ProtocolActions.loadProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: ProtocolState | undefined, action: Action) {\r\n return protocolReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { filterControllerTasksFailed } from \"./../actions/task.actions\";\r\nimport { TaskFilterWrapper } from \"./../../models/task-filter-wrapper.model\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { MapTask } from \"./../../models/map-task.model\";\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as TaskActions from \"../actions/task.actions\";\r\nimport { Task } from \"../../models/task.model\";\r\nimport { EntityAdapter, createEntityAdapter, EntityState } from \"@ngrx/entity\";\r\nimport { Status } from \"../../models/status.model\";\r\nimport { state } from \"@angular/animations\";\r\nimport { DroneRoute } from \"../../models/drone-route-model\";\r\n\r\nexport const taskFeatureKey = \"task\";\r\n\r\nexport interface TaskState extends EntityState {\r\n loading: boolean;\r\n modalLoading: boolean;\r\n currentTask: Task;\r\n statuses: Status[];\r\n mapTasks: MapTask[];\r\n controllerMapTasks: MapTask[];\r\n droneRoutes: DroneRoute[];\r\n taskFilterWrapper: TaskFilterWrapper;\r\n controllerFilterWrapper: TaskFilterWrapper;\r\n completedTasksFilterWrapper: TaskFilterWrapper;\r\n completedTasks: Task[];\r\n}\r\n\r\nexport const allTasksAdapter: EntityAdapter = createEntityAdapter({\r\n selectId: (task: Task) => task.taskId,\r\n});\r\n\r\nexport const initialTaskState: TaskState = allTasksAdapter.getInitialState({\r\n loading: false,\r\n modalLoading: null,\r\n currentTask: null,\r\n droneRoutes: null,\r\n statuses: null,\r\n mapTasks: null,\r\n controllerMapTasks: null,\r\n taskFilterWrapper: null,\r\n controllerFilterWrapper: null,\r\n completedTasksFilterWrapper: null,\r\n completedTasks: null,\r\n});\r\n\r\nconst taskReducer = createReducer(\r\n initialTaskState,\r\n\r\n on(TaskActions.loadTasks, TaskActions.loadStatuses, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(\r\n TaskActions.loadTasksFailure,\r\n TaskActions.filterCompletedTasksFailed,\r\n TaskActions.loadStatusesFailure,\r\n (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })\r\n ),\r\n\r\n on(TaskActions.loadTasksSuccess, (state, action) => {\r\n return { ...allTasksAdapter.setAll(action.data, state), loading: false };\r\n }),\r\n\r\n on(TaskActions.loadStatusesSuccess, (state, action) => {\r\n return { ...state, statuses: action.data, loading: false };\r\n }),\r\n\r\n on(TaskActions.deleteTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.deleteTaskSuccess, (state, action) => {\r\n return {\r\n ...allTasksAdapter.removeOne(action.data.taskId, state),\r\n loading: false,\r\n };\r\n }),\r\n\r\n on(TaskActions.importTasks, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.importTasksSuccess, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n on(TaskActions.importTasksFailure, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.importTasksPreview, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.importTasksPreviewSuccess, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n on(TaskActions.importTasksPreviewFailure, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.assignTasks, TaskActions.assignControllerTasks, (state) => ({\r\n ...state,\r\n modalLoading: true,\r\n })),\r\n on(\r\n TaskActions.assignTasksSuccess,\r\n TaskActions.assignControllerTasksSuccess,\r\n (state) => ({\r\n ...state,\r\n modalLoading: false,\r\n })\r\n ),\r\n on(\r\n TaskActions.assignTasksFailed,\r\n TaskActions.assignControllerTasksFailed,\r\n (state) => ({\r\n ...state,\r\n modalLoading: false,\r\n })\r\n ),\r\n\r\n on(TaskActions.filterTasks, (state, action) => ({\r\n ...state,\r\n loading: true,\r\n taskFilterWrapper: action.data,\r\n })),\r\n on(TaskActions.filterTasksSuccess, (state, action) => {\r\n return { ...state, mapTasks: action.data, loading: false };\r\n }),\r\n on(TaskActions.filterTasksFailed, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.filterControllerTasks, (state, action) => ({\r\n ...state,\r\n loading: true,\r\n controllerFilterWrapper: action.data,\r\n })),\r\n on(TaskActions.filterControllerTasksSuccess, (state, action) => {\r\n return {\r\n ...state,\r\n controllerMapTasks: action.mapTasks,\r\n droneRoutes: action.droneRoutes,\r\n loading: false,\r\n };\r\n }),\r\n on(TaskActions.filterControllerTasksFailed, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.filterCompletedTasks, (state, action) => ({\r\n ...state,\r\n loading: true,\r\n completedTasksFilterWrapper: action.data,\r\n })),\r\n on(TaskActions.filterCompletedTasksSuccess, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n completedTasks: action.tasks,\r\n })),\r\n\r\n on(TaskActions.mapTaskSelected, (state, action) => {\r\n let mapTasks: MapTask[];\r\n if (state.mapTasks) {\r\n mapTasks = [...state.mapTasks];\r\n let updateIndex = mapTasks.findIndex(\r\n (t) => t.task.taskId == action.mapTask.task.taskId\r\n );\r\n\r\n let updated = cloneDeep(action.mapTask);\r\n\r\n updated.isSelected = action.selected;\r\n mapTasks[updateIndex] = updated;\r\n }\r\n return {\r\n ...state,\r\n mapTasks: mapTasks,\r\n };\r\n }),\r\n\r\n on(TaskActions.controllerMapTaskSelected, (state, action) => {\r\n let mapTasks: MapTask[];\r\n if (state.controllerMapTasks) {\r\n mapTasks = [...state.controllerMapTasks];\r\n let updateIndex = mapTasks.findIndex(\r\n (t) => t.task.taskId == action.mapTask.task.taskId\r\n );\r\n\r\n let updated = cloneDeep(action.mapTask);\r\n\r\n updated.isSelected = action.selected;\r\n mapTasks[updateIndex] = updated;\r\n }\r\n return {\r\n ...state,\r\n controllerMapTasks: mapTasks,\r\n };\r\n }),\r\n\r\n on(TaskActions.loadTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.loadTaskSuccess, (state, action) => {\r\n return { ...state, currentTask: action.data, loading: false };\r\n }),\r\n on(TaskActions.loadTaskFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n on(TaskActions.updateTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.updateTaskSuccess, (state, action) => {\r\n return {\r\n ...allTasksAdapter.updateOne(action.data, state),\r\n currentTask: action.data,\r\n loading: false,\r\n mapTasks: null,\r\n };\r\n }),\r\n on(TaskActions.updateTaskFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: TaskState | undefined, action: Action) {\r\n return taskReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = allTasksAdapter.getSelectors();\r\n","import { RoleType } from \"./../../auth/_models/role-type.model\";\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as UserActions from \"../actions/user.actions\";\r\nimport { User } from \"../../auth/_models/user.model\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\n\r\nexport const userFeatureKey = \"user\";\r\n\r\nexport interface UserState extends EntityState {\r\n loading: boolean;\r\n currentUser: User;\r\n roleTypes: RoleType[];\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (user: User) => user.userId,\r\n});\r\n\r\nexport const initialState: UserState = adapter.getInitialState({\r\n loading: false,\r\n currentUser: null,\r\n roleTypes: null,\r\n});\r\n\r\nconst userReducer = createReducer(\r\n initialState,\r\n\r\n on(UserActions.loadUsers, (state) => state),\r\n on(UserActions.loadUsersSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(UserActions.loadUsersFailure, (state, action) => state),\r\n\r\n on(UserActions.loadRoleTypesSuccess, (state, action) => {\r\n return { ...state, roleTypes: action.data };\r\n }),\r\n\r\n on(UserActions.addUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.addUserSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(UserActions.addUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(UserActions.updateUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.updateUserSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(UserActions.updateUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(UserActions.deleteUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.deleteUserSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.userId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(UserActions.addUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(UserActions.loadUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.loadUserSuccess, (state, action) => {\r\n return { ...state, currentUser: action.data, loading: false };\r\n }),\r\n on(UserActions.loadUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: UserState | undefined, action: Action) {\r\n return userReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport * as fromAuth from '../reducers/auth.reducer';\r\n\r\nexport const selectAuthState = createFeatureSelector(\r\n fromAuth.authFeatureKey\r\n);\r\n\r\nexport const isLoggedIn = createSelector(selectAuthState, auth => auth.loggedIn);\r\n\r\nexport const isLoggedOut = createSelector(isLoggedIn, loggedIn => !loggedIn);\r\n\r\nexport const currentUser = createSelector(selectAuthState, auth => auth.currentUser);\r\n\r\nexport const authError = createSelector(selectAuthState, auth => auth.error);\r\n\r\nexport const authLoading = createSelector(\r\n selectAuthState,\r\n (state) => state.loading\r\n);","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromCustomer from \"../reducers/customer.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectCustomerState = createFeatureSelector<\r\n fromCustomer.CustomersState\r\n>(fromCustomer.customerFeatureKey);\r\n\r\nexport const selectCustomersSelector = createSelector(\r\n selectCustomerState,\r\n fromCustomer.selectAll\r\n);\r\n\r\n//export const selectCustomers = pipe(select(selectCustomersSelector), skip(1));\r\n\r\nexport const selectCustomersLoading = createSelector(\r\n selectCustomerState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentCustomer = createSelector(\r\n selectCustomerState,\r\n (state) => state.currentCustomer\r\n);\r\n\r\nexport const selectCustomerById = (id) =>\r\n createSelector(selectCustomerState, (state) => state.entities[id]);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromDronePilots from \"../reducers/drone-pilots.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectDronePilotsState = createFeatureSelector<\r\n fromDronePilots.DronePilotsState\r\n>(fromDronePilots.dronePilotsFeatureKey);\r\n\r\nexport const selectPilotsSelector = createSelector(\r\n selectDronePilotsState,\r\n fromDronePilots.selectAll\r\n);\r\n\r\n//export const selectPilots = pipe(select(selectDronesSelector), skip(1));\r\n\r\nexport const selectPilotsLoading = createSelector(\r\n selectDronePilotsState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectPilotTypes = createSelector(\r\n selectDronePilotsState,\r\n (state) => state.pilotTypes\r\n);\r\n\r\nexport const selectCurrentPilot = createSelector(\r\n selectDronePilotsState,\r\n (state) => state.currentDronePilot\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromDrones from \"../reducers/drones.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectDronesState = createFeatureSelector(\r\n fromDrones.dronesFeatureKey\r\n);\r\n\r\nconst selectDronesSelector = createSelector(\r\n selectDronesState,\r\n fromDrones.selectAll\r\n);\r\n\r\nexport const selectDrones = pipe(select(selectDronesSelector), skip(1));\r\n\r\nexport const selectModelsSelector = createSelector(\r\n selectDronesState,\r\n (state) => state.models\r\n);\r\n\r\n\r\nexport const selectPayloadsSelector = createSelector(\r\n selectDronesState,\r\n (state) => state.payloads\r\n);\r\n\r\nexport const selectDronesLoading = createSelector(\r\n selectDronesState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentDrone = createSelector(\r\n selectDronesState,\r\n (state) => state.currentDrone\r\n);\r\n\r\nexport const selectDroneById = (id) =>\r\n createSelector(selectDronesState, (state) => state.entities[id]);\r\n\r\n\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromField from \"../reducers/field.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectFieldState = createFeatureSelector(\r\n fromField.fieldFeatureKey\r\n);\r\n\r\nexport const selectFieldsSelector = createSelector(\r\n selectFieldState,\r\n fromField.selectAll\r\n);\r\n\r\n//export const selectFields = pipe(select(selectFieldsSelector), skip(1));\r\n\r\nexport const selectFieldsLoading = createSelector(\r\n selectFieldState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentField = createSelector(\r\n selectFieldState,\r\n (state) => state.currentField\r\n);\r\n\r\nexport const selectFieldsByCustomerId = (customerId) =>\r\n createSelector(selectFieldsSelector, (fields) =>\r\n fields.filter((f) => f.customer.customerId == customerId)\r\n );\r\n\r\nexport const selectFieldById = (id) =>\r\n createSelector(selectFieldState, (state) => state.entities[id]);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromMaterial from \"../reducers/material.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectMaterialState = createFeatureSelector<\r\n fromMaterial.MaterialState\r\n>(fromMaterial.materialFeatureKey);\r\n\r\nexport const selectMaterialsSelector = createSelector(\r\n selectMaterialState,\r\n fromMaterial.selectAll\r\n);\r\n\r\n//export const selectMaterials = pipe(select(selectMaterialsSelector), skip(1));\r\n\r\nexport const selectMaterialsLoading = createSelector(\r\n selectMaterialState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentMaterial = createSelector(\r\n selectMaterialState,\r\n (state) => state.currentMaterial\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromProtocol from \"../reducers/protocol.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectProtocolState = createFeatureSelector<\r\n fromProtocol.ProtocolState\r\n>(fromProtocol.protocolFeatureKey);\r\n\r\nexport const selectProtocolsSelector = createSelector(\r\n selectProtocolState,\r\n fromProtocol.selectAll\r\n);\r\n\r\n//export const selectProtocols = pipe(select(selectProtocolsSelector), skip(1));\r\n\r\nexport const selectProtocolsLoading = createSelector(\r\n selectProtocolState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentProtocol = createSelector(\r\n selectProtocolState,\r\n (state) => state.currentProtocol\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromTask from \"../reducers/task.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectTaskState = createFeatureSelector(\r\n fromTask.taskFeatureKey\r\n);\r\n\r\nexport const selectTasksSelector = createSelector(\r\n selectTaskState,\r\n fromTask.selectAll\r\n);\r\n\r\n//export const selectTasks = pipe(select(selectTasksSelector), skip(1));\r\n\r\nexport const selectTasksLoading = createSelector(\r\n selectTaskState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectTasksModalLoading = createSelector(\r\n selectTaskState,\r\n (state) => state.modalLoading\r\n);\r\n\r\nexport const selectCurrentTask = createSelector(\r\n selectTaskState,\r\n (state) => state.currentTask\r\n);\r\n\r\nexport const selectStatuses = createSelector(\r\n selectTaskState,\r\n (state) => state.statuses\r\n);\r\n\r\nexport const selectMapTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.mapTasks\r\n);\r\n\r\nexport const selectSelectedMapTasks = createSelector(selectTaskState, (state) =>\r\n state.mapTasks?.filter((t) => t.isSelected)\r\n);\r\n\r\nexport const selectControllerMapTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.controllerMapTasks\r\n);\r\n\r\nexport const selectSelectedControllerMapTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.controllerMapTasks?.filter((t) => t.isSelected)\r\n);\r\n\r\nexport const selectTaskFilterWrapper = createSelector(\r\n selectTaskState,\r\n (state) => state.taskFilterWrapper\r\n);\r\n\r\nexport const selectControllerFilterWrapper = createSelector(\r\n selectTaskState,\r\n (state) => state.controllerFilterWrapper\r\n);\r\n\r\nexport const selectDroneRoutes = createSelector(\r\n selectTaskState,\r\n (state) => state.droneRoutes\r\n);\r\n\r\nexport const selectTasksByFieldId = (fieldId) =>\r\n createSelector(selectTasksSelector, (tasks) =>\r\n tasks.filter((t) => t.field.fieldId == fieldId)\r\n );\r\n\r\nexport const selectCompletedTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.completedTasks\r\n);\r\n\r\nexport const selectCompletedTasksFilterWrapper = createSelector(\r\n selectTaskState,\r\n (state) => state.completedTasksFilterWrapper\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromUser from \"../reducers/user.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectUserState = createFeatureSelector(\r\n fromUser.userFeatureKey\r\n);\r\n\r\nconst selectUsersSelector = createSelector(selectUserState, fromUser.selectAll);\r\n\r\nexport const selectUsers = pipe(select(selectUsersSelector), skip(1));\r\n\r\nexport const selectUsersLoading = createSelector(\r\n selectUserState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentUser = createSelector(\r\n selectUserState,\r\n (state) => state.currentUser\r\n);\r\n\r\nexport const selectRoleTypes = createSelector(\r\n selectUserState,\r\n (state) => state.roleTypes\r\n);\r\n","import { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatSlideToggleModule } from \"@angular/material/slide-toggle\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatProgressBarModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n MatListModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatSlideToggleModule,\r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatProgressBarModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n MatListModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatSlideToggleModule,\r\n ],\r\n})\r\nexport class MatCoreModule {}\r\n","\r\n\r\n","import { EntitySelectService } from \"./entity-select.service\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { Component, Input, OnInit, Output, EventEmitter } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"kt-entity-select\",\r\n templateUrl: \"./entity-select.component.html\",\r\n styleUrls: [\"./entity-select.component.scss\"],\r\n})\r\nexport class EntitySelectComponent implements OnInit {\r\n // Entity name, used to access api\r\n // *REQUIRED*\r\n @Input() entityName;\r\n\r\n // The dataset to display\r\n // *REQUIRED*\r\n @Input() data;\r\n\r\n // The property to filter by, usually the display property\r\n // *REQUIRED*\r\n @Input() filterBy: string;\r\n\r\n // The id property\r\n // *REQUIRED*\r\n @Input() valueProperty = \"id\";\r\n\r\n // To support being part of a form\r\n @Input() formControl: FormControl = new FormControl();\r\n\r\n // Error string if form is invalid\r\n @Input() error: string;\r\n\r\n @Input() hint = \"Select a entity\";\r\n @Input() placeHolder = \"Enter a value\";\r\n\r\n @Output() valueChanged = new EventEmitter();\r\n\r\n constructor(private service: EntitySelectService) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.entityName) {\r\n throw \"Must supply entityName to EntitySelectComponent\";\r\n }\r\n\r\n this.service.getEntity(this.entityName).subscribe((x) => {\r\n this.data = x;\r\n });\r\n }\r\n}\r\n","import { PartialsModule } from \"./../../partials/partials.module\";\r\nimport { MatCoreModule } from \"./../../../core/utils/mat-core.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { EntitySelectComponent } from \"./entity-select.component\";\r\n\r\n@NgModule({\r\n declarations: [EntitySelectComponent],\r\n imports: [CommonModule, PartialsModule],\r\n exports: [EntitySelectComponent],\r\n})\r\nexport class EntitySelectModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"src/app/core/services/api.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class EntitySelectService {\r\n constructor(private api: ApiService) {}\r\n\r\n getEntity(entityName: string) {\r\n return this.api.get(entityName);\r\n }\r\n}\r\n","
\r\n\t
\r\n
\r\n","// Angular\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit, Output } from '@angular/core';\r\n// RxJS\r\nimport { Subscription } from 'rxjs';\r\n// Auth\r\nimport { AuthNotice, AuthNoticeService } from '../../../../core/auth/';\r\n\r\n@Component({\r\n\tselector: 'kt-auth-notice',\r\n\ttemplateUrl: './auth-notice.component.html',\r\n})\r\nexport class AuthNoticeComponent implements OnInit, OnDestroy {\r\n\t@Output() type: any;\r\n\t@Output() message: any = '';\r\n\r\n\t// Private properties\r\n\tprivate subscriptions: Subscription[] = [];\r\n\r\n\t/**\r\n\t * Component Constructure\r\n\t *\r\n\t * @param authNoticeService\r\n\t * @param cdr\r\n\t */\r\n\tconstructor(public authNoticeService: AuthNoticeService, private cdr: ChangeDetectorRef) {\r\n\t}\r\n\r\n\t/*\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tthis.subscriptions.push(this.authNoticeService.onNoticeChanged$.subscribe(\r\n\t\t\t(notice: AuthNotice) => {\r\n\t\t\t\tnotice = Object.assign({}, {message: '', type: ''}, notice);\r\n\t\t\t\tthis.message = notice.message;\r\n\t\t\t\tthis.type = notice.type;\r\n\t\t\t\tthis.cdr.markForCheck();\r\n\t\t\t}\r\n\t\t));\r\n\t}\r\n\r\n\t/**\r\n\t * On destroy\r\n\t */\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscriptions.forEach(sb => sb.unsubscribe());\r\n\t}\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

\r\n \r\n
\r\n \r\n\r\n \r\n \r\n
\r\n {{ \"AUTH.GENERAL.TITLE\" | translate }} {{ today | date: \"yyyy\" }}\r\n
\r\n
\r\n {{ \"AUTH.GENERAL.CONTACT\" | translate }}\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 Don't have an account yet?\r\n \r\n \r\n\r\n {{ \"AUTH.GENERAL.CONTACT\" | translate }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n {{ \"AUTH.GENERAL.TITLE\" | translate }} {{ today | date: \"yyyy\" }}\r\n
\r\n
\r\n {{ \"AUTH.GENERAL.CONTACT\" | translate }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n","// Angular\r\nimport {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n SplashScreenService,\r\n TranslationService,\r\n} from \"../../../core/_base/layout\";\r\n// Auth\r\nimport { AuthNoticeService } from \"../../../core/auth\";\r\n\r\n@Component({\r\n selector: \"kt-auth\",\r\n templateUrl: \"./auth.component.html\",\r\n styleUrls: [\"./auth.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AuthComponent implements OnInit {\r\n // Public properties\r\n today: number = Date.now();\r\n headerLogo: string;\r\n /**\r\n * Component constructor\r\n *\r\n * @param el\r\n * @param render\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param authNoticeService: authNoticeService\r\n * @param translationService: TranslationService\r\n * @param splashScreenService: SplashScreenService\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n private render: Renderer2,\r\n private layoutConfigService: LayoutConfigService,\r\n public authNoticeService: AuthNoticeService,\r\n private translationService: TranslationService,\r\n private splashScreenService: SplashScreenService\r\n ) {}\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.translationService.setLanguage(\r\n this.translationService.getSelectedLanguage()\r\n );\r\n this.headerLogo = this.layoutConfigService.getLogo();\r\n\r\n this.splashScreenService.hide();\r\n }\r\n\r\n /**\r\n * Load CSS for this specific page only, and destroy when navigate away\r\n * @param styleUrl\r\n */\r\n private loadCSS(styleUrl: string) {\r\n return new Promise((resolve, reject) => {\r\n const styleElement = document.createElement(\"link\");\r\n styleElement.href = styleUrl;\r\n styleElement.type = \"text/css\";\r\n styleElement.rel = \"stylesheet\";\r\n styleElement.onload = resolve;\r\n this.render.appendChild(this.el.nativeElement, styleElement);\r\n });\r\n }\r\n}\r\n","// Angular\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n// Material\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n// Translate\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n// NGRX\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\n// CRUD\r\nimport { InterceptService } from '../../../core/_base/crud/';\r\n// Module components\r\nimport { AuthComponent } from './auth.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { AuthNoticeComponent } from './auth-notice/auth-notice.component';\r\nimport { AuthEffects } from 'src/app/core/store/effects/auth.effects';\r\nimport * as fromAuth from \"../../../core/store/reducers/auth.reducer\";\r\nimport { AuthGuard } from 'src/app/core/auth';\r\n// Auth\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: '',\r\n\t\tcomponent: AuthComponent,\r\n\t\tchildren: [\r\n\t\t\t{\r\n\t\t\t\tpath: '',\r\n\t\t\t\tredirectTo: 'login',\r\n\t\t\t\tpathMatch: 'full'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'login',\r\n\t\t\t\tcomponent: LoginComponent,\r\n\t\t\t\tdata: {returnUrl: window.location.pathname}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'register',\r\n\t\t\t\tcomponent: RegisterComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'forgot-password',\r\n\t\t\t\tcomponent: ForgotPasswordComponent,\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n];\r\n\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatButtonModule,\r\n\t\tRouterModule.forChild(routes),\r\n\t\tMatInputModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatCheckboxModule,\r\n\t\tTranslateModule.forChild(),\r\n\t\tStoreModule.forFeature(fromAuth.authFeatureKey, fromAuth.reducer),\r\n\t\tEffectsModule.forFeature([AuthEffects])\r\n\t],\r\n\tproviders: [\r\n\t\tInterceptService,\r\n\t\t{\r\n\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\tuseClass: InterceptService,\r\n\t\t\tmulti: true\r\n\t\t},\r\n\t],\r\n\texports: [AuthComponent],\r\n\tdeclarations: [\r\n\t\tAuthComponent,\r\n\t\tLoginComponent,\r\n\t\tRegisterComponent,\r\n\t\tForgotPasswordComponent,\r\n\t\tAuthNoticeComponent\r\n\t]\r\n})\r\n\r\nexport class AuthModule {\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: AuthModule,\r\n\t\t\tproviders: [\t\t\t\r\n\t\t\t\tAuthGuard\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n}\r\n","\r\n
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t

{{ 'AUTH.FORGOT.TITLE' | translate }}

\r\n\t\t\t

Enter your email to reset your password

\r\n\t\t
\r\n\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.EMAIL' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.INVALID_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 320\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\r\n\t\t\t\t{{ 'AUTH.GENERAL.BACK_BUTTON' | translate }}\r\n\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
","// Angular\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n// RxJS\r\nimport { finalize, takeUntil, tap } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n// Translate\r\nimport { TranslateService } from '@ngx-translate/core';\r\n// Auth\r\nimport { AuthNoticeService, AuthService } from '../../../../core/auth';\r\n\r\n@Component({\r\n\tselector: 'kt-forgot-password',\r\n\ttemplateUrl: './forgot-password.component.html',\r\n\tencapsulation: ViewEncapsulation.None\r\n})\r\nexport class ForgotPasswordComponent implements OnInit, OnDestroy {\r\n\t// Public params\r\n\tforgotPasswordForm: FormGroup;\r\n\tloading = false;\r\n\terrors: any = [];\r\n\r\n\tprivate unsubscribe: Subject; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param authService\r\n\t * @param authNoticeService\r\n\t * @param translate\r\n\t * @param router\r\n\t * @param fb\r\n\t * @param cdr\r\n\t */\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic authNoticeService: AuthNoticeService,\r\n\t\tprivate translate: TranslateService,\r\n\t\tprivate router: Router,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate cdr: ChangeDetectorRef\r\n\t) {\r\n\t\tthis.unsubscribe = new Subject();\r\n\t}\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tthis.initRegistrationForm();\r\n\t}\r\n\r\n\t/**\r\n\t * On destroy\r\n\t */\r\n\tngOnDestroy(): void {\r\n\t\tthis.unsubscribe.next();\r\n\t\tthis.unsubscribe.complete();\r\n\t\tthis.loading = false;\r\n\t}\r\n\r\n\t/**\r\n\t * Form initalization\r\n\t * Default params, validators\r\n\t */\r\n\tinitRegistrationForm() {\r\n\t\tthis.forgotPasswordForm = this.fb.group({\r\n\t\t\temail: ['', Validators.compose([\r\n\t\t\t\tValidators.required,\r\n\t\t\t\tValidators.email,\r\n\t\t\t\tValidators.minLength(3),\r\n\t\t\t\tValidators.maxLength(320) // https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address\r\n\t\t\t])\r\n\t\t\t]\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Form Submit\r\n\t */\r\n\tsubmit() {\r\n\t\tconst controls = this.forgotPasswordForm.controls;\r\n\t\t/** check form */\r\n\t\tif (this.forgotPasswordForm.invalid) {\r\n\t\t\tObject.keys(controls).forEach(controlName =>\r\n\t\t\t\tcontrols[controlName].markAsTouched()\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tconst email = controls.email.value;\r\n\t\tthis.authService.requestPassword(email).pipe(\r\n\t\t\ttap(response => {\r\n\t\t\t\tif (response) {\r\n\t\t\t\t\tthis.authNoticeService.setNotice(this.translate.instant('AUTH.FORGOT.SUCCESS'), 'success');\r\n\t\t\t\t\tthis.router.navigateByUrl('/auth/login');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.authNoticeService.setNotice(this.translate.instant('AUTH.VALIDATION.NOT_FOUND', {name: this.translate.instant('AUTH.INPUT.EMAIL')}), 'danger');\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttakeUntil(this.unsubscribe),\r\n\t\t\tfinalize(() => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tthis.cdr.markForCheck();\r\n\t\t\t})\r\n\t\t).subscribe();\r\n\t}\r\n\r\n\t/**\r\n\t * Checking control validation\r\n\t *\r\n\t * @param controlName: string => Equals to formControlName\r\n\t * @param validationType: string => Equals to valitors name\r\n\t */\r\n\tisControlHasError(controlName: string, validationType: string): boolean {\r\n\t\tconst control = this.forgotPasswordForm.controls[controlName];\r\n\t\tif (!control) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst result =\r\n\t\t\tcontrol.hasError(validationType) &&\r\n\t\t\t(control.dirty || control.touched);\r\n\t\treturn result;\r\n\t}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Sign In

\r\n

\r\n Enter your username and password\r\n

\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
\r\n \r\n Username\r\n \r\n \r\n {{ \"AUTH.VALIDATION.REQUIRED_FIELD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.INVALID_FIELD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MIN_LENGTH_FIELD\" | translate }} 3\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MAX_LENGTH_FIELD\" | translate }} 320\r\n \r\n \r\n
\r\n
\r\n \r\n {{ \"AUTH.INPUT.PASSWORD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.REQUIRED_FIELD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MIN_LENGTH_FIELD\" | translate }} 3\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MAX_LENGTH_FIELD\" | translate }} 100\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ \"AUTH.LOGIN.BUTTON\" | translate }}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n\r\n","// Angular\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n// RxJS\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { finalize, takeUntil, tap } from 'rxjs/operators';\r\n// Translate\r\nimport { TranslateService } from '@ngx-translate/core';\r\n// Store\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from '../../../../core/reducers';\r\n// Auth\r\nimport { AuthNoticeService } from '../../../../core/auth';\r\nimport { AuthService } from 'src/app/core/services/auth.service';\r\nimport { login } from 'src/app/core/store/actions/auth.actions';\r\nimport { authLoading, authError } from 'src/app/core/store/selectors/auth.selectors';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\n\r\n/**\r\n * ! Just example => Should be removed in development\r\n */\r\nconst DEMO_PARAMS = {\r\n\tEMAIL: 'admin@demo.com',\r\n\tPASSWORD: 'demo'\r\n};\r\n\r\n@Component({\r\n\tselector: 'kt-login',\r\n\ttemplateUrl: './login.component.html',\r\n\tencapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n\t// Public params\r\n\tloginForm: FormGroup;\r\n\tloading = false;\r\n\tisLoggedIn$: Observable;\r\n\terrors: any = [];\r\n\r\n\tprivate unsubscribe: Subject;\r\n\r\n\tprivate returnUrl: any;\r\n\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate auth: AuthService,\r\n\t\tprivate authNoticeService: AuthNoticeService,\r\n\t\tprivate translate: TranslateService,\r\n\t\tprivate store: Store,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate cdr: ChangeDetectorRef,\r\n\t\tprivate route: ActivatedRoute\r\n\t) {\r\n\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.initLoginForm();\r\n\r\n\t\t// redirect back to the returnUrl before login\r\n\t\tthis.route.queryParams.subscribe(params => {\r\n\t\t\tthis.returnUrl = params.returnUrl || '/';\r\n\t\t});\r\n\r\n\t\tthis.store.pipe(select(authLoading), untilDestroyed(this)).subscribe(loading => {\r\n\t\t\tthis.loading = loading;\r\n\t\t})\r\n\r\n\t\tthis.store.pipe(select(authError), untilDestroyed(this)).subscribe(error => {\t\t\r\n\t\t\tthis.authNoticeService.setNotice(error, 'danger');\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.authNoticeService.setNotice(null);\r\n\t\tthis.loading = false;\r\n\t}\r\n\r\n\t/**\r\n\t * Form initalization\r\n\t * Default params, validators\r\n\t */\r\n\tinitLoginForm() {\r\n\t\t// demo message to show\r\n\t\t// if (!this.authNoticeService.onNoticeChanged$.getValue()) {\r\n\t\t// \tconst initialNotice = `Use account\r\n\t\t// \t${DEMO_PARAMS.EMAIL} and password\r\n\t\t// \t${DEMO_PARAMS.PASSWORD} to continue.`;\r\n\t\t// \tthis.authNoticeService.setNotice(initialNotice, 'info');\r\n\t\t// }\r\n\r\n\t\tthis.loginForm = this.fb.group({\r\n\t\t\temail: [\"\", Validators.compose([\r\n\t\t\t\tValidators.required,\t\t\t\r\n\t\t\t\tValidators.minLength(3),\r\n\t\t\t\tValidators.maxLength(320) // https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address\r\n\t\t\t])\r\n\t\t\t],\r\n\t\t\tpassword: [\"\", Validators.compose([\r\n\t\t\t\tValidators.required,\r\n\t\t\t\tValidators.minLength(3),\r\n\t\t\t\tValidators.maxLength(100)\r\n\t\t\t])\r\n\t\t\t]\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Form Submit\r\n\t */\r\n\tsubmit() {\r\n\t\tconst controls = this.loginForm.controls;\r\n\t\t/** check form */\r\n\t\tif (this.loginForm.invalid) {\r\n\t\t\tObject.keys(controls).forEach(controlName =>\r\n\t\t\t\tcontrols[controlName].markAsTouched()\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\r\n\t\tthis.store.dispatch(login({username: controls.email.value, password: controls.password.value}));\r\n\t\t//this.authNoticeService.setNotice(this.translate.instant('AUTH.VALIDATION.INVALID_LOGIN'), 'danger');\r\n\t}\r\n\r\n\t/**\r\n\t * Checking control validation\r\n\t *\r\n\t * @param controlName: string => Equals to formControlName\r\n\t * @param validationType: string => Equals to valitors name\r\n\t */\r\n\tisControlHasError(controlName: string, validationType: string): boolean {\r\n\t\tconst control = this.loginForm.controls[controlName];\r\n\t\tif (!control) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst result = control.hasError(validationType) && (control.dirty || control.touched);\r\n\t\treturn result;\r\n\t}\r\n}\r\n","import { AbstractControl } from '@angular/forms';\r\n\r\nexport class ConfirmPasswordValidator {\r\n\t/**\r\n\t * Check matching password with confirm password\r\n\t * @param control AbstractControl\r\n\t */\r\n\tstatic MatchPassword(control: AbstractControl) {\r\n\t\tconst password = control.get('password').value;\r\n\r\n\t\tconst confirmPassword = control.get('confirmPassword').value;\r\n\r\n\t\tif (password !== confirmPassword) {\r\n\t\t\tcontrol.get('confirmPassword').setErrors({ConfirmPassword: true});\r\n\t\t} else {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t

Sign Up

\r\n\t\t\t

Enter your details to create your account

\r\n\t\t
\r\n\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tFullname\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.EMAIL' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.INVALID_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 320\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tUsername\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.PASSWORD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.CONFIRM_PASSWORD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPasssword and ConfirmPassword didn't match.\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tI agree the terms & conditions\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\tCancel\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n
","// Angular\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\n// RxJS\r\nimport { finalize, takeUntil, tap } from \"rxjs/operators\";\r\n// Translate\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n// NGRX\r\nimport { Store } from \"@ngrx/store\";\r\nimport { AppState } from \"../../../../core/reducers\";\r\n// Auth\r\nimport {\r\n AuthNoticeService,\r\n AuthService,\r\n Register,\r\n User,\r\n} from \"../../../../core/auth/\";\r\nimport { Subject } from \"rxjs\";\r\nimport { ConfirmPasswordValidator } from \"./confirm-password.validator\";\r\n\r\n@Component({\r\n selector: \"kt-register\",\r\n templateUrl: \"./register.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n registerForm: FormGroup;\r\n loading = false;\r\n errors: any = [];\r\n\r\n private unsubscribe: Subject; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param authNoticeService: AuthNoticeService\r\n * @param translate: TranslateService\r\n * @param router: Router\r\n * @param auth: AuthService\r\n * @param store: Store\r\n * @param fb: FormBuilder\r\n * @param cdr\r\n */\r\n constructor(\r\n private authNoticeService: AuthNoticeService,\r\n private translate: TranslateService,\r\n private router: Router,\r\n private auth: AuthService,\r\n private store: Store,\r\n private fb: FormBuilder,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n this.unsubscribe = new Subject();\r\n }\r\n\r\n /*\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.initRegisterForm();\r\n }\r\n\r\n /*\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.unsubscribe.next();\r\n this.unsubscribe.complete();\r\n this.loading = false;\r\n }\r\n\r\n /**\r\n * Form initalization\r\n * Default params, validators\r\n */\r\n initRegisterForm() {\r\n this.registerForm = this.fb.group(\r\n {\r\n fullname: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n email: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.minLength(3),\r\n // https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address\r\n Validators.maxLength(320),\r\n ]),\r\n ],\r\n username: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n password: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n confirmPassword: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n agree: [false, Validators.compose([Validators.required])],\r\n },\r\n {\r\n validator: ConfirmPasswordValidator.MatchPassword,\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Form Submit\r\n */\r\n submit() {\r\n const controls = this.registerForm.controls;\r\n\r\n // check form\r\n if (this.registerForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n if (!controls.agree.value) {\r\n // you must agree the terms and condition\r\n // checkbox cannot work inside mat-form-field https://github.com/angular/material2/issues/7891\r\n this.authNoticeService.setNotice(\r\n \"You must agree the terms and condition\",\r\n \"danger\"\r\n );\r\n return;\r\n }\r\n\r\n const _user: User = new User();\r\n _user.clear();\r\n _user.email = controls.email.value;\r\n _user.username = controls.username.value;\r\n //_user.fullname = controls.fullname.value;\r\n _user.password = controls.password.value;\r\n _user.roles = [];\r\n this.auth\r\n .register(_user)\r\n .pipe(\r\n tap((user) => {\r\n if (user) {\r\n this.store.dispatch(new Register({ authToken: user.accessToken }));\r\n // pass notice message to the login page\r\n this.authNoticeService.setNotice(\r\n this.translate.instant(\"AUTH.REGISTER.SUCCESS\"),\r\n \"success\"\r\n );\r\n this.router.navigateByUrl(\"/auth/login\");\r\n } else {\r\n this.authNoticeService.setNotice(\r\n this.translate.instant(\"AUTH.VALIDATION.INVALID_LOGIN\"),\r\n \"danger\"\r\n );\r\n }\r\n }),\r\n takeUntil(this.unsubscribe),\r\n finalize(() => {\r\n this.loading = false;\r\n this.cdr.markForCheck();\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n /**\r\n * Checking control validation\r\n *\r\n * @param controlName: string => Equals to formControlName\r\n * @param validationType: string => Equals to valitors name\r\n */\r\n isControlHasError(controlName: string, validationType: string): boolean {\r\n const control = this.registerForm.controls[controlName];\r\n if (!control) {\r\n return false;\r\n }\r\n\r\n const result =\r\n control.hasError(validationType) && (control.dirty || control.touched);\r\n return result;\r\n }\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Customer\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport {\r\n selectCustomersLoading,\r\n selectCustomersSelector,\r\n} from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadCustomers,\r\n deleteCustomer,\r\n} from \"src/app/core/store/actions/customer.actions\";\r\nimport { CustomersState } from \"src/app/core/store/reducers/customer.reducer\";\r\n\r\n@Component({\r\n selector: \"kt-customers-list\",\r\n templateUrl: \"./customers-list.component.html\",\r\n styleUrls: [\"./customers-list.component.scss\"],\r\n})\r\nexport class CustomersListComponent implements OnInit, OnDestroy {\r\n loading;\r\n customers: Customer[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectCustomersLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((customers) => {\r\n this.customers = customers;\r\n });\r\n\r\n this.store.dispatch(loadCustomers());\r\n }\r\n\r\n deleteCustomer(_item: Customer) {\r\n const _title = \"Customer Delete\";\r\n const _description = \"Are you sure to permanently delete this customer?\";\r\n const _waitDesciption = \"Customer is deleting...\";\r\n const _deleteMessage = `Customer has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteCustomer({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n Fields\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-customers-table\",\r\n templateUrl: \"./customers-table.component.html\",\r\n styleUrls: [\"./customers-table.component.scss\"],\r\n})\r\nexport class CustomersTableComponent implements OnInit, AfterViewInit {\r\n @Input() customers: Customer[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteCustomer = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"phone\",\r\n clientFieldName: \"phone\",\r\n displayNameKey: \"Phone\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"email\",\r\n clientFieldName: \"email\",\r\n displayNameKey: \"Email\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editCustomerClick(customer: Customer) {\r\n this.router.navigate([customer.customerId], { relativeTo: this.route });\r\n }\r\n\r\n goToCustomerFields(customer: Customer) {\r\n this.router.navigateByUrl(\"fields/\" + customer.customerId);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { CustomersComponent } from \"./customers.component\";\r\nimport { CustomersListComponent } from \"./customers-list/customers-list.component\";\r\nimport { EditCustomerComponent } from \"./edit-customer/edit-customer.component\";\r\nimport { FieldsListComponent } from \"../fields/fields-list/fields-list.component\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: CustomersComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: CustomersListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditCustomerComponent,\r\n },\r\n // {\r\n // path: \"field-list/:id\",\r\n // component: FieldsListComponent,\r\n // },\r\n {\r\n path: \"add\",\r\n component: EditCustomerComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule, RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class CustomersRoutingModule {}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-customers',\r\n templateUrl: './customers.component.html',\r\n styleUrls: ['./customers.component.scss']\r\n})\r\nexport class CustomersComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { CustomersRoutingModule } from \"./customers-routing.module\";\r\nimport { FieldsListComponent } from \"./../fields/fields-list/fields-list.component\";\r\nimport { FieldsModule } from \"./../fields/fields.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CustomersComponent } from \"./customers.component\";\r\nimport { CustomersListComponent } from \"./customers-list/customers-list.component\";\r\nimport { EditCustomerComponent } from \"./edit-customer/edit-customer.component\";\r\nimport { CustomersTableComponent } from \"./customers-list/customers-table/customers-table.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromCustomer from \"../../../core/store/reducers/customer.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { CustomerEffects } from \"../../../core/store/effects/customer.effects\";\r\nimport { CustomerFieldsComponent } from \"./customers-list/customer-fields/customer-fields.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CustomersComponent,\r\n CustomersListComponent,\r\n EditCustomerComponent,\r\n CustomersTableComponent,\r\n CustomerFieldsComponent,\r\n ],\r\n imports: [\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CustomersRoutingModule,\r\n StoreModule.forFeature(\r\n fromCustomer.customerFeatureKey,\r\n fromCustomer.reducer\r\n ),\r\n EffectsModule.forFeature([CustomerEffects]),\r\n ],\r\n})\r\nexport class CustomersModule {}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n phone is\r\n required\r\n \r\n Please enter a valid\r\n phone\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Email is\r\n required\r\n \r\n Please enter a valid\r\n email\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n updateCustomer,\r\n loadCustomer,\r\n addCustomer,\r\n} from \"src/app/core/store/actions/customer.actions\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectCustomersLoading,\r\n selectCurrentCustomer,\r\n} from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { CustomersState } from \"src/app/core/store/reducers/customer.reducer\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\n\r\n@Component({\r\n selector: \"kt-edit-customer\",\r\n templateUrl: \"./edit-customer.component.html\",\r\n styleUrls: [\"./edit-customer.component.scss\"],\r\n})\r\nexport class EditCustomerComponent implements OnInit, OnDestroy {\r\n title = \"Add Customer\";\r\n isEdit = false;\r\n customer: Customer;\r\n customerForm: FormGroup;\r\n hasFormErrors = false;\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private customerFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectCustomersLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.customer = Customer.createEmpty();\r\n\r\n this.store\r\n .pipe(select(selectCurrentCustomer), untilDestroyed(this))\r\n .subscribe((currentCustomer) => {\r\n if (currentCustomer && this.isEdit) {\r\n this.customer = cloneDeep(currentCustomer);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let customerId = this.route.snapshot.params[\"id\"];\r\n\r\n if (customerId && customerId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Customer\";\r\n\r\n this.store.dispatch(loadCustomer({ data: customerId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.customerForm = this.customerFB.group({\r\n name: [this.customer.name, Validators.required],\r\n phone: [\r\n this.customer.phone,\r\n [Validators.pattern(new RegExp(RegEx.phone))],\r\n ],\r\n email: [this.customer.email, Validators.email],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.customerForm.controls;\r\n /** check form */\r\n if (this.customerForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareCustomer();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateCustomer({ data: this.customer }));\r\n } else {\r\n this.store.dispatch(addCustomer({ data: this.customer }));\r\n }\r\n }\r\n\r\n prepareCustomer() {\r\n this.customer.name = this.customerForm.controls.name.value;\r\n this.customer.phone = this.customerForm.controls.phone.value;\r\n this.customer.email = this.customerForm.controls.email.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Drone Pilot\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport { DronePilotsState } from \"src/app/core/store/reducers/drone-pilots.reducer\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectPilotsLoading,\r\n selectPilotsSelector,\r\n} from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport {\r\n loadDronePilots,\r\n deleteDronePilot,\r\n loadPilotTypes,\r\n} from \"src/app/core/store/actions/drone-pilots.actions\";\r\n\r\n@Component({\r\n selector: \"kt-drone-pilots-list\",\r\n templateUrl: \"./drone-pilots-list.component.html\",\r\n styleUrls: [\"./drone-pilots-list.component.scss\"],\r\n})\r\nexport class DronePilotsListComponent implements OnInit, OnDestroy {\r\n pilots: DronePilot[];\r\n loading = false;\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectPilotsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((pilots) => {\r\n this.pilots = pilots;\r\n });\r\n\r\n this.store.dispatch(loadDronePilots());\r\n }\r\n\r\n deletePilot(_item: DronePilot) {\r\n const _title = \"Drone Pilot Delete\";\r\n const _description = \"Are you sure to permanently delete this pilot?\";\r\n const _waitDesciption = \"Drone Pilot is deleting...\";\r\n const _deleteMessage = `Drone Pilot has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteDronePilot({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n {{ row.pilotType.name }}\r\n\r\n\r\n\r\n {{ row.isLicenseGimel ? \"Yes\" : \"No\" }}\r\n\r\n\r\n\r\n {{ row.isLicenseRT ? \"Yes\" : \"No\" }}\r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-drone-pilots-table\",\r\n templateUrl: \"./drone-pilots-table.component.html\",\r\n styleUrls: [\"./drone-pilots-table.component.scss\"],\r\n})\r\nexport class DronePilotsTableComponent implements OnInit, AfterViewInit {\r\n @Input() pilots: DronePilot[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deletePilot = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"pilotTypeTemplate\", { static: false })\r\n pilotTypeTemplate: TemplateRef;\r\n\r\n @ViewChild(\"licenseGimelTemplate\", { static: false })\r\n licenseGimelTemplate: TemplateRef;\r\n\r\n @ViewChild(\"licenseRTTemplate\", { static: false })\r\n licenseRtTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"pilotType\",\r\n clientFieldName: \"pilotType\",\r\n displayNameKey: \"Pilot Type\",\r\n sortable: true,\r\n template: this.pilotTypeTemplate,\r\n },\r\n {\r\n serverFieldName: \"phone\",\r\n clientFieldName: \"phone\",\r\n displayNameKey: \"Phone\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"islicenseGimel\",\r\n clientFieldName: \"islicenseGimel\",\r\n displayNameKey: \"License Gimel\",\r\n sortable: true,\r\n template: this.licenseGimelTemplate,\r\n },\r\n {\r\n serverFieldName: \"islicenseRT\",\r\n clientFieldName: \"islicenseRT\",\r\n displayNameKey: \"License RT\",\r\n sortable: true,\r\n template: this.licenseRtTemplate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editPilotClick(pilot: DronePilot) {\r\n this.router.navigate([pilot.pilotId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { loadPilotTypes } from \"src/app/core/store/actions/drone-pilots.actions\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { DronePilotsState } from \"src/app/core/store/reducers/drone-pilots.reducer\";\r\n\r\n@Component({\r\n selector: \"kt-drone-pilots\",\r\n templateUrl: \"./drone-pilots.component.html\",\r\n styleUrls: [\"./drone-pilots.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronePilotsComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadPilotTypes());\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DronePilotsComponent } from './drone-pilots.component';\r\nimport { EditDronePilotComponent } from './edit-drone-pilot/edit-drone-pilot.component';\r\nimport { DronePilotsTableComponent } from './drone-pilots-list/drone-pilots-table/drone-pilots-table.component';\r\nimport { DronePilotsListComponent } from './drone-pilots-list/drone-pilots-list.component';\r\nimport { MatCoreModule } from 'src/app/core/utils/mat-core.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { PartialsModule } from '../../partials/partials.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport * as fromDronePilots from '../../../core/store/reducers/drone-pilots.reducer';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { DronePilotsEffects } from '../../../core/store/effects/drone-pilots.effects';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: DronePilotsComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: DronePilotsListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditDronePilotComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditDronePilotComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n\r\n@NgModule({\r\n declarations: [DronePilotsComponent, EditDronePilotComponent, DronePilotsTableComponent, DronePilotsListComponent],\r\n imports: [\r\n CommonModule,\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromDronePilots.dronePilotsFeatureKey, fromDronePilots.reducer),\r\n EffectsModule.forFeature([DronePilotsEffects])\r\n ]\r\n})\r\nexport class DronePilotsModule { }\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n phone is\r\n required\r\n \r\n Please enter a valid\r\n phone\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ type.name }}\r\n \r\n Pilot type is\r\n required\r\n \r\n Please select a\r\n pilot type\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n License Gimel\r\n
\r\n
\r\n License RT\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { DronePilotsState } from \"src/app/core/store/reducers/drone-pilots.reducer\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Observable, combineLatest } from \"rxjs\";\r\nimport { PilotType } from \"src/app/core/models/pilot-type.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport {\r\n updateDronePilot,\r\n addDronePilot,\r\n loadDronePilot,\r\n loadPilotTypes,\r\n} from \"src/app/core/store/actions/drone-pilots.actions\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectPilotsLoading,\r\n selectPilotTypes,\r\n selectCurrentPilot,\r\n} from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport * as _ from \"lodash\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\n\r\n@Component({\r\n selector: \"kt-edit-drone-pilot\",\r\n templateUrl: \"./edit-drone-pilot.component.html\",\r\n styleUrls: [\"./edit-drone-pilot.component.scss\"],\r\n})\r\nexport class EditDronePilotComponent implements OnInit, OnDestroy {\r\n title = \"Add Drone Pilot\";\r\n isEdit = false;\r\n pilot: DronePilot;\r\n pilotForm: FormGroup;\r\n hasFormErrors = false;\r\n\r\n pilotTypes: PilotType[];\r\n\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private pilotFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectPilotsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.pilot = DronePilot.createEmpty();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectPilotTypes), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentPilot), untilDestroyed(this))\r\n ).subscribe(([pilotTypes, currentPilot]) => {\r\n this.pilotTypes = pilotTypes;\r\n\r\n if (currentPilot && this.isEdit) {\r\n this.pilot = _.cloneDeep(currentPilot);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let pilotId = this.route.snapshot.params[\"id\"];\r\n\r\n if (pilotId && pilotId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Drone Pilot\";\r\n\r\n this.store.dispatch(loadDronePilot({ data: pilotId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.pilotForm = this.pilotFB.group({\r\n name: [this.pilot.name, Validators.required],\r\n pilotType: [this.pilot.pilotType?.pilotTypeId, Validators.required],\r\n phone: [\r\n this.pilot.phone,\r\n [Validators.required, Validators.pattern(new RegExp(RegEx.phone))],\r\n ],\r\n isLicenseGimel: [this.pilot.isLicenseGimel],\r\n isLicenseRT: [this.pilot.isLicenseRT],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.pilotForm.controls;\r\n /** check form */\r\n if (this.pilotForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.preparePilot();\r\n\r\n if (this.isEdit) {\r\n console.log(\"updating pilot with value:\", this.pilot);\r\n this.store.dispatch(updateDronePilot({ data: this.pilot }));\r\n } else {\r\n console.log(\"adding drone with value:\", this.pilot);\r\n this.store.dispatch(addDronePilot({ data: this.pilot }));\r\n }\r\n }\r\n\r\n preparePilot() {\r\n this.pilot.name = this.pilotForm.controls.name.value;\r\n this.pilot.pilotType = this.pilotTypes.find(\r\n (p) => p.pilotTypeId == this.pilotForm.controls.pilotType.value\r\n );\r\n this.pilot.phone = this.pilotForm.controls.phone.value;\r\n this.pilot.isLicenseGimel = this.pilotForm.controls.isLicenseGimel.value;\r\n this.pilot.isLicenseRT = this.pilotForm.controls.isLicenseRT.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Drone\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ChangeDetectionStrategy,\r\n} from \"@angular/core\";\r\nimport { AppState } from \"src/app/core/reducers\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n loadDrones,\r\n deleteDrone,\r\n} from \"src/app/core/store/actions/drones.actions\";\r\nimport {\r\n DroneState,\r\n selectEntities,\r\n} from \"src/app/core/store/reducers/drones.reducer\";\r\nimport {\r\n selectDrones,\r\n selectDronesLoading,\r\n} from \"src/app/core/store/selectors/drones.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { Router } from \"@angular/router\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\n\r\n@Component({\r\n selector: \"kt-drones-list\",\r\n templateUrl: \"./drones-list.component.html\",\r\n styleUrls: [\"./drones-list.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronesListComponent implements OnInit, OnDestroy {\r\n drones: Drone[];\r\n loading = false;\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectDronesLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store.pipe(selectDrones, untilDestroyed(this)).subscribe((drones) => {\r\n this.drones = drones;\r\n });\r\n\r\n this.store.dispatch(loadDrones());\r\n }\r\n\r\n deleteDrone(_item: Drone) {\r\n const _title = \"Drone Delete\";\r\n const _description = \"Are you sure to permanently delete this drone?\";\r\n const _waitDesciption = \"Drone is deleting...\";\r\n const _deleteMessage = `Drone has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteDrone({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n {{ row.model.name }}\r\n\r\n\r\n\r\n {{ row.payload.name }}\r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n TemplateRef,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-drones-table\",\r\n templateUrl: \"./drones-table.component.html\",\r\n styleUrls: [\"./drones-table.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronesTableComponent implements OnInit, AfterViewInit {\r\n @Input() drones: Drone[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteDrone = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"modelTemplate\", { static: false }) modelTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"payloadTemplate\", { static: false }) payloadTemplate: TemplateRef<\r\n any\r\n >;\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"tailNumber\",\r\n clientFieldName: \"tailNumber\",\r\n displayNameKey: \"Tail Number\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"model\",\r\n clientFieldName: \"model\",\r\n displayNameKey: \"Model\",\r\n sortable: true,\r\n template: this.modelTemplate,\r\n },\r\n {\r\n serverFieldName: \"payload\",\r\n clientFieldName: \"payload\",\r\n displayNameKey: \"Payload\",\r\n template: this.payloadTemplate,\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"blackBoxId\",\r\n clientFieldName: \"blackBoxId\",\r\n displayNameKey: \"Black box Id\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editDroneClick(drone: Drone) {\r\n this.router.navigate([drone.droneId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { DroneState } from \"src/app/core/store/reducers/drones.reducer\";\r\nimport {\r\n loadDroneModels,\r\n loadDronePayloads,\r\n} from \"src/app/core/store/actions/drones.actions\";\r\n\r\n@Component({\r\n selector: \"kt-drones\",\r\n templateUrl: \"./drones.component.html\",\r\n styleUrls: [\"./drones.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronesComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadDroneModels());\r\n this.store.dispatch(loadDronePayloads());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DronesComponent } from \"./drones.component\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { DronesListComponent } from \"./drones-list/drones-list.component\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromDrones from \"../../../core/store/reducers/drones.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { DronesEffects } from \"../../../core/store/effects/drones.effects\";\r\nimport { DronesTableComponent } from \"./drones-list/drones-table/drones-table.component\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { EditDroneComponent } from \"./edit-drone/edit-drone.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: DronesComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: DronesListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditDroneComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditDroneComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n DronesComponent,\r\n DronesListComponent,\r\n DronesTableComponent,\r\n EditDroneComponent,\r\n ],\r\n imports: [\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromDrones.dronesFeatureKey, fromDrones.reducer),\r\n EffectsModule.forFeature([DronesEffects]),\r\n ],\r\n})\r\nexport class DronesModule {}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Tail number is\r\n required\r\n \r\n Please enter\r\n tail number\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ model.name }}\r\n \r\n Model is\r\n required\r\n \r\n Please select a\r\n model\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ payload.name }}\r\n \r\n Payload is\r\n required\r\n \r\n Please select a\r\n payload\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Tail number is\r\n required\r\n \r\n Please enter\r\n Black box Id\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { DroneState } from \"src/app/core/store/reducers/drones.reducer\";\r\nimport {\r\n selectDroneById,\r\n selectDronesLoading,\r\n selectCurrentDrone,\r\n selectModelsSelector,\r\n selectPayloadsSelector,\r\n} from \"src/app/core/store/selectors/drones.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport * as _ from \"lodash\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n addDrone,\r\n updateDrone,\r\n loadDrone,\r\n} from \"src/app/core/store/actions/drones.actions\";\r\nimport { Observable, combineLatest, pipe } from \"rxjs\";\r\nimport { filter, zip, debounceTime } from \"rxjs/operators\";\r\nimport { DroneModel } from \"src/app/core/models/drone-model.model\";\r\nimport { DronePayload } from \"src/app/core/models/drone-payload.model\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-edit-drone\",\r\n templateUrl: \"./edit-drone.component.html\",\r\n styleUrls: [\"./edit-drone.component.scss\"],\r\n})\r\nexport class EditDroneComponent implements OnInit, OnDestroy {\r\n title = \"Add Drone\";\r\n isEdit = false;\r\n drone: Drone;\r\n droneForm: FormGroup;\r\n hasFormErrors = false;\r\n\r\n droneModels: DroneModel[];\r\n dronePayloads: DronePayload[];\r\n\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private droneFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectDronesLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.drone = Drone.createEmpty();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectModelsSelector), untilDestroyed(this)),\r\n this.store.pipe(select(selectPayloadsSelector), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentDrone), untilDestroyed(this))\r\n ).subscribe(([models, payloads, currentDrone]) => {\r\n this.droneModels = models;\r\n this.dronePayloads = payloads;\r\n\r\n if (currentDrone && this.isEdit) {\r\n this.drone = cloneDeep(currentDrone);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let droneId = this.route.snapshot.params[\"id\"];\r\n\r\n if (droneId && droneId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Drone\";\r\n\r\n this.store.dispatch(loadDrone({ data: droneId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.droneForm = this.droneFB.group({\r\n tailNumber: [this.drone.tailNumber, Validators.required],\r\n payload: [this.drone.payload?.payloadId, Validators.required],\r\n model: [this.drone.model?.modelId, Validators.required],\r\n blackBoxId: [this.drone.blackBoxId, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.droneForm.controls;\r\n /** check form */\r\n if (this.droneForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareDrone();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateDrone({ data: this.drone }));\r\n } else {\r\n this.store.dispatch(addDrone({ data: this.drone }));\r\n }\r\n }\r\n\r\n prepareDrone() {\r\n this.drone.tailNumber = this.droneForm.controls.tailNumber.value;\r\n this.drone.blackBoxId = this.droneForm.controls.blackBoxId.value;\r\n this.drone.payload = this.dronePayloads.find(\r\n (p) => p.payloadId == this.droneForm.controls.payload.value\r\n );\r\n this.drone.model = this.droneModels.find(\r\n (m) => m.modelId == this.droneForm.controls.model.value\r\n );\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n Latitude is\r\n required\r\n \r\n \r\n latitude coordinate\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Longtitude is\r\n required\r\n \r\n \r\n longtitude coordinate\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Add\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n delete\r\n \r\n

{{ coor.lat }}, {{ coor.lng }}

\r\n \r\n
\r\n
\r\n
\r\n","import { Coordinate } from \"./../../../../../core/models/coordinate.mode\";\r\nimport { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"kt-coordinates-list\",\r\n templateUrl: \"./coordinates-list.component.html\",\r\n styleUrls: [\"./coordinates-list.component.scss\"],\r\n})\r\nexport class CoordinatesListComponent implements OnInit {\r\n @Input() coordinates: Coordinate[] = [];\r\n @Output() coordinateAdded = new EventEmitter();\r\n coorForm: FormGroup;\r\n\r\n constructor(private coorFb: FormBuilder) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.coorForm = this.coorFb.group({\r\n lat: [null, Validators.required],\r\n lng: [null, Validators.required],\r\n });\r\n }\r\n\r\n addCoor() {\r\n const controls = this.coorForm.controls;\r\n\r\n if (this.coorForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n return;\r\n }\r\n\r\n const coor = new Coordinate(controls.lat.value, controls.lng.value);\r\n this.coordinates.push(coor);\r\n\r\n this.coorForm.reset();\r\n\r\n this.coordinateAdded.emit(coor);\r\n }\r\n\r\n deleteCoor(coor) {\r\n this.coordinates.splice(this.coordinates.indexOf(coor), 1);\r\n }\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Plot number is\r\n required\r\n \r\n Please enter a\r\n plot number\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Crop name is\r\n required\r\n \r\n Please enter\r\n crop name\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Planting year is\r\n required\r\n \r\n Please enter a valid\r\n planting year\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 MOAG Id numner is\r\n required\r\n \r\n Please enter\r\n MOAG Id number\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n area in square meters is\r\n required\r\n \r\n Please enter\r\n area in square meters\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ date | date:'EEEE d' }}
Time (Hour){{ weatherData[i]?.date[date] || '0' }}
{{ option }}\r\n {{ weatherData[i]?.data[i][option] || '0' }}\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 \r\n
\r\n\r\n \r\n {{ field?.cropName }}\r\n \r\n
\r\n \r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { FieldState } from \"src/app/core/store/reducers/field.reducer\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectFieldsLoading,\r\n selectCurrentField,\r\n} from \"src/app/core/store/selectors/field.selectors\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport {\r\n loadField,\r\n updateField,\r\n addField,\r\n} from \"src/app/core/store/actions/field.actions\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\n\r\nclass WeatherService {\r\n private apiUrl = 'https://api.aksata360.com/api/weather';\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getWeatherData(): Observable {\r\n return this.http.get(this.apiUrl);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: \"kt-edit-field\",\r\n templateUrl: \"./edit-field.component.html\",\r\n styleUrls: [\"./edit-field.component.scss\"],\r\n})\r\nexport class EditFieldComponent implements OnInit, OnDestroy {\r\n title = \"Add Field\";\r\n isEdit = false;\r\n field: Field;\r\n fieldForm: FormGroup;\r\n hasFormErrors = false;\r\n customers: Customer[];\r\n loading$: Observable;\r\n mapCenter;\r\n\r\n //weatherData: any[] = [];\r\n //private weatherService: WeatherService;\r\n\r\n dates: string[] = [];\r\n weatherData: any = {\r\n 'Wind (kt)': {},\r\n 'Gusts (kt)': {},\r\n 'Temperature (°C)': {},\r\n 'Rain (mm)': {},\r\n 'Time (Hour)': {} // For storing times associated with each date\r\n };\r\n maxEntriesPerDate: { [date: string]: number } = {}; // Tracks the max number of entries for each date\r\n\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private fieldFB: FormBuilder,\r\n private http: HttpClient\r\n\r\n ) {\r\n //this.weatherService = new WeatherService(this.http);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectFieldsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.field = Field.createEmpty();\r\n this.createForm();\r\n\r\n this.store\r\n .pipe(select(selectCurrentField), untilDestroyed(this))\r\n .subscribe((currentField) => {\r\n if (currentField && this.isEdit) {\r\n this.field = cloneDeep(currentField);\r\n this.createForm();\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n let fieldId = this.route.snapshot.params[\"id\"];\r\n if (fieldId && fieldId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Field\";\r\n\r\n this.store.dispatch(loadField({ data: fieldId }));\r\n\r\n this.http.get('https://api.aksata360.com/api/weather?fieldId=' + fieldId).pipe(\r\n map(response => {\r\n const dateEntries: { [date: string]: any[] } = {}; // Temporary storage for processing\r\n\r\n response.forEach(item => {\r\n const [date, time] = item.ts.split('T');\r\n const formattedTime = time.slice(0, 2); // Extract hour and minute\r\n \r\n if (!dateEntries[date]) {\r\n dateEntries[date] = [];\r\n }\r\n\r\n // Push the entire item along with formatted time for later processing\r\n dateEntries[date].push({ ...item, time: formattedTime });\r\n\r\n // Update max entries per date\r\n this.maxEntriesPerDate[date] = Math.max(this.maxEntriesPerDate[date] || 0, dateEntries[date].length);\r\n });\r\n\r\n this.dates = Object.keys(dateEntries).sort();\r\n this.processDataForDisplay(dateEntries);\r\n })\r\n ).subscribe();\r\n \r\n }\r\n }\r\n processDataForDisplay(dateEntries: { [date: string]: any[] }) {\r\n // Process and structure data for display\r\n Object.entries(dateEntries).forEach(([date, entries]) => {\r\n entries.forEach((entry, index) => {\r\n if (!this.weatherData[index]) {\r\n this.weatherData[index] = { date: {}, data: [] }; // Initialize if not already\r\n }\r\n this.weatherData[index].date[date] = entry.time;\r\n\r\n this.weatherData[index].data.push({\r\n 'Wind (kt)': entry['wind_v-surface'],\r\n 'Gusts (kt)': entry['gusts-surface'],\r\n 'Temperature (°C)': entry['temp-surface'],\r\n 'Rain (mm)': entry['past3hconvprecip-surface'],\r\n });\r\n });\r\n });\r\n }\r\n\r\n createForm() {\r\n this.fieldForm = this.fieldFB.group({\r\n cropName: [this.field.cropName, Validators.required],\r\n plotNumber: [this.field.plotNumber, Validators.required],\r\n plantingYear: [this.field.plantingYear],\r\n moagId: [this.field.moagId],\r\n areaSquareMeters: [this.field.areaSquareMeters],\r\n });\r\n\r\n this.fieldForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n this.customersSelectFormControl.setValidators(Validators.required);\r\n if (this.field.customer) {\r\n this.customersSelectFormControl.setValue(this.field.customer.customerId);\r\n }\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.fieldForm.controls;\r\n /** check form */\r\n if (this.fieldForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareField();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateField({ data: this.field }));\r\n } else {\r\n this.store.dispatch(addField({ data: this.field }));\r\n }\r\n }\r\n\r\n prepareField() {\r\n this.field.cropName = this.fieldForm.controls.cropName.value;\r\n this.field.plotNumber = this.fieldForm.controls.plotNumber.value;\r\n this.field.plantingYear = this.fieldForm.controls.plantingYear.value;\r\n this.field.moagId = this.fieldForm.controls.moagId.value;\r\n this.field.areaSquareMeters = this.fieldForm.controls.areaSquareMeters.value;\r\n this.field.customer = this.customers.find(\r\n (c) => c.customerId == this.customersSelectFormControl.value\r\n );\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { Coordinate } from \"src/app/core/models/coordinate.mode\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\n\r\n@Component({\r\n selector: \"kt-field-map\",\r\n templateUrl: \"./field-map.component.html\",\r\n styleUrls: [\"./field-map.component.scss\"],\r\n})\r\nexport class FieldMapComponent implements OnInit, OnChanges {\r\n zoom = 17;\r\n @Input() coordinates: Coordinate[];\r\n @Input() center: Coordinate;\r\n @Input() fields: Field[];\r\n @Input() infoWindowTemplate: TemplateRef;\r\n\r\n constructor() {}\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (changes.fields && this.fields?.length > 0 && !this.center) {\r\n this.center = this.fields[0].coordinates[0];\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n Show only fields that aren't fully loaded\r\n\r\n \r\n\r\n\r\n\r\n \r\n Import KML\r\n \r\n\r\n \r\n New Field\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { FieldState } from \"src/app/core/store/reducers/field.reducer\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport {\r\n selectFieldsLoading,\r\n selectFieldsByCustomerId,\r\n selectFieldsSelector,\r\n} from \"src/app/core/store/selectors/field.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadFields,\r\n deleteField,\r\n} from \"src/app/core/store/actions/field.actions\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n selectCurrentCustomer,\r\n selectCustomerById,\r\n} from \"src/app/core/store/selectors/customer.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-fields-list\",\r\n templateUrl: \"./fields-list.component.html\",\r\n styleUrls: [\"./fields-list.component.scss\"],\r\n})\r\nexport class FieldsListComponent implements OnInit, OnDestroy {\r\n loading;\r\n fields: Field[];\r\n customerId;\r\n title = \"Fields\";\r\n allFields: Field[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectFieldsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n let customerId = this.route.snapshot.params[\"customerId\"];\r\n\r\n if (customerId) {\r\n // Load customer fields\r\n this.title = \"Customer fields\";\r\n this.store\r\n .pipe(select(selectCustomerById(customerId)), untilDestroyed(this))\r\n .subscribe((c) => {\r\n if (c) {\r\n this.title = c.name + \"'s Fields\";\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(\r\n select(selectFieldsByCustomerId(customerId)),\r\n untilDestroyed(this)\r\n )\r\n .subscribe((fields) => {\r\n this.fields = fields;\r\n this.allFields = fields;\r\n });\r\n } else {\r\n // Load all fields\r\n this.store\r\n .pipe(select(selectFieldsSelector), untilDestroyed(this))\r\n .subscribe((fields) => {\r\n this.fields = fields;\r\n this.allFields = fields;\r\n });\r\n }\r\n\r\n this.store.dispatch(loadFields());\r\n }\r\n\r\n deleteField(_item: Field) {\r\n const _title = \"Field Delete\";\r\n const _description = \"Are you sure to permanently delete this field?\";\r\n const _waitDesciption = \"Field is deleting...\";\r\n const _deleteMessage = `Field has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteField({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n isLoadedChanged($event) {\r\n if ($event) {\r\n this.fields = this.fields.filter((f) => !f.isFullyLoaded);\r\n } else {\r\n this.fields = this.allFields;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n Tasks\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-fields-table\",\r\n templateUrl: \"./fields-table.component.html\",\r\n styleUrls: [\"./fields-table.component.scss\"],\r\n})\r\nexport class FieldsTableComponent implements OnInit, AfterViewInit {\r\n @Input() fields: Field[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteField = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"isLoadedTemplate\", { static: false })\r\n isLoadedTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"id\",\r\n clientFieldName: \"id\",\r\n displayNameKey: \"\",\r\n sortable: false,\r\n template: this.isLoadedTemplate,\r\n },\r\n {\r\n serverFieldName: \"plotNumber\",\r\n clientFieldName: \"plotNumber\",\r\n displayNameKey: \"Plot Number\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"cropName\",\r\n clientFieldName: \"cropName\",\r\n displayNameKey: \"Crop Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"plantingYear\",\r\n clientFieldName: \"plantingYear\",\r\n displayNameKey: \"PlantingYear\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"customer\",\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n serverFieldName: \"moagId\",\r\n clientFieldName: \"moagId\",\r\n displayNameKey: \"MOAG Id number\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"areaSquareMeters\",\r\n clientFieldName: \"areaSquareMeters\",\r\n displayNameKey: \"Area(Square meters)\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editFieldClick(field: Field) {\r\n this.router.navigate([\"edit/\" + field.fieldId], { relativeTo: this.route });\r\n }\r\n\r\n goToFieldTasks(field: Field) {\r\n this.router.navigateByUrl(\"tasks/\" + field.fieldId);\r\n }\r\n}\r\n","import { RouterModule, Routes } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FieldsComponent } from \"./fields.component\";\r\nimport { FieldsListComponent } from \"./fields-list/fields-list.component\";\r\nimport { ImportFieldsComponent } from \"./import-fields/import-fields.component\";\r\nimport { EditFieldComponent } from \"./edit-field/edit-field.component\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: FieldsComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: FieldsListComponent,\r\n },\r\n {\r\n path: \"import\",\r\n pathMatch: \"full\",\r\n component: ImportFieldsComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditFieldComponent,\r\n },\r\n {\r\n path: \":customerId\",\r\n pathMatch: \"full\",\r\n component: FieldsListComponent,\r\n },\r\n {\r\n path: \":customerId/edit/:id\",\r\n pathMatch: \"full\",\r\n component: EditFieldComponent,\r\n },\r\n {\r\n path: \":customerId/import\",\r\n pathMatch: \"full\",\r\n component: ImportFieldsComponent,\r\n },\r\n {\r\n path: \":customerId/add\",\r\n pathMatch: \"full\",\r\n component: EditFieldComponent,\r\n },\r\n\r\n {\r\n path: \"edit/:id\",\r\n component: EditFieldComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule, RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class FieldsRoutingModule {}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { loadCustomers } from \"src/app/core/store/actions/customer.actions\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { AppState } from \"src/app/core/reducers\";\r\n\r\n@Component({\r\n selector: \"kt-fields\",\r\n templateUrl: \"./fields.component.html\",\r\n styleUrls: [\"./fields.component.scss\"],\r\n})\r\nexport class FieldsComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadCustomers());\r\n }\r\n}\r\n","import { FieldsRoutingModule } from \"./fields-routing.module\";\r\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FieldsListComponent } from \"./fields-list/fields-list.component\";\r\nimport { EditFieldComponent } from \"./edit-field/edit-field.component\";\r\nimport { FieldsTableComponent } from \"./fields-list/fields-table/fields-table.component\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromField from \"../../../core/store/reducers/field.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { FieldEffects } from \"../../../core/store/effects/field.effects\";\r\nimport { FieldsComponent } from \"./fields.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { CoordinatesListComponent } from \"./edit-field/coordinates-list/coordinates-list.component\";\r\nimport { ImportFieldsComponent } from \"./import-fields/import-fields.component\";\r\nimport { FileUploadModule } from \"@iplab/ngx-file-upload\";\r\nimport { FieldMapComponent } from \"./field-map/field-map.component\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n FieldsComponent,\r\n FieldsListComponent,\r\n EditFieldComponent,\r\n FieldsTableComponent,\r\n CoordinatesListComponent,\r\n ImportFieldsComponent,\r\n FieldMapComponent,\r\n ],\r\n exports: [\r\n FieldsListComponent,\r\n EditFieldComponent,\r\n FieldsTableComponent,\r\n CoordinatesListComponent,\r\n ImportFieldsComponent,\r\n ],\r\n imports: [\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FieldsRoutingModule,\r\n StoreModule.forFeature(fromField.fieldFeatureKey, fromField.reducer),\r\n EffectsModule.forFeature([FieldEffects]),\r\n FileUploadModule,\r\n PerfectScrollbarModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n }),\r\n ],\r\n})\r\nexport class FieldsModule {}\r\n","\r\n
\r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n File is\r\n required\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n","import { importFields } from \"./../../../../core/store/actions/field.actions\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { FieldState } from \"src/app/core/store/reducers/field.reducer\";\r\nimport { selectFieldsLoading } from \"src/app/core/store/selectors/field.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { FileUploadValidators } from \"@iplab/ngx-file-upload\";\r\nimport { FieldImportWrapper } from \"src/app/core/models/field-import-wrapper.model\";\r\n\r\n@Component({\r\n selector: \"kt-import-fields\",\r\n templateUrl: \"./import-fields.component.html\",\r\n styleUrls: [\"./import-fields.component.scss\"],\r\n})\r\nexport class ImportFieldsComponent implements OnInit, OnDestroy {\r\n fieldForm: FormGroup;\r\n hasFormErrors = false;\r\n customers: Customer[];\r\n loading$: Observable;\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n\r\n public filesControl = new FormControl(null, [Validators.required]);\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private fieldFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectFieldsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.fieldForm = this.fieldFB.group({});\r\n\r\n this.fieldForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n this.customersSelectFormControl.setValidators(Validators.required);\r\n\r\n this.fieldForm.addControl(\"fileUploadControl\", this.filesControl);\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.fieldForm.controls;\r\n /** check form */\r\n if (this.fieldForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n let wrapper = {\r\n file: this.filesControl.value,\r\n customerId: this.customersSelectFormControl.value,\r\n };\r\n this.store.dispatch(importFields({ data: wrapper }));\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Observable, combineLatest } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { MaterialState } from \"src/app/core/store/reducers/material.reducer\";\r\nimport {\r\n selectMaterialsLoading,\r\n selectCurrentMaterial,\r\n} from \"src/app/core/store/selectors/material.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadMaterial,\r\n updateMaterial,\r\n addMaterial,\r\n} from \"src/app/core/store/actions/material.actions\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-edit-materials\",\r\n templateUrl: \"./edit-materials.component.html\",\r\n styleUrls: [\"./edit-materials.component.scss\"],\r\n})\r\nexport class EditMaterialsComponent implements OnInit, OnDestroy {\r\n title = \"Add Material\";\r\n isEdit = false;\r\n material: Material;\r\n materialForm: FormGroup;\r\n hasFormErrors = false;\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private materialFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectMaterialsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.material = new Material(null, null);\r\n\r\n this.store\r\n .pipe(select(selectCurrentMaterial), untilDestroyed(this))\r\n .subscribe((currentMaterial) => {\r\n if (currentMaterial && this.isEdit) {\r\n this.material = cloneDeep(currentMaterial);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let materialId = this.route.snapshot.params[\"id\"];\r\n\r\n if (materialId && materialId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Material\";\r\n\r\n this.store.dispatch(loadMaterial({ data: materialId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.materialForm = this.materialFB.group({\r\n name: [this.material.name, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.materialForm.controls;\r\n /** check form */\r\n if (this.materialForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareMaterial();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateMaterial({ data: this.material }));\r\n } else {\r\n this.store.dispatch(addMaterial({ data: this.material }));\r\n }\r\n }\r\n\r\n prepareMaterial() {\r\n this.material.name = this.materialForm.controls.name.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Material\r\n \r\n\r\n","import { selectMaterialsSelector } from \"./../../../../core/store/selectors/material.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport {\r\n deleteMaterial,\r\n loadMaterials,\r\n} from \"src/app/core/store/actions/material.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"src/app/core/_base/crud\";\r\nimport { MaterialState } from \"src/app/core/store/reducers/material.reducer\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { selectMaterialsLoading } from \"src/app/core/store/selectors/material.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\n\r\n@Component({\r\n selector: \"kt-materials-list\",\r\n templateUrl: \"./materials-list.component.html\",\r\n styleUrls: [\"./materials-list.component.scss\"],\r\n})\r\nexport class MaterialsListComponent implements OnInit, OnDestroy {\r\n loading;\r\n materials: Material[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectMaterialsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((materials) => {\r\n this.materials = materials;\r\n });\r\n\r\n this.store.dispatch(loadMaterials());\r\n }\r\n\r\n deleteMaterial(_item: Material) {\r\n const _title = \"Material Delete\";\r\n const _description = \"Are you sure to permanently delete this material?\";\r\n const _waitDesciption = \"Material is deleting...\";\r\n const _deleteMessage = `Material has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteMaterial({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-materials-table\",\r\n templateUrl: \"./materials-table.component.html\",\r\n styleUrls: [\"./materials-table.component.scss\"],\r\n})\r\nexport class MaterialsTableComponent implements OnInit, AfterViewInit {\r\n @Input() materials: Material[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteMaterial = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editMaterialClick(material: Material) {\r\n this.router.navigate([material.materialId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-materials',\r\n templateUrl: './materials.component.html',\r\n styleUrls: ['./materials.component.scss']\r\n})\r\nexport class MaterialsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MaterialsListComponent } from \"./materials-list/materials-list.component\";\r\nimport { EditMaterialsComponent } from \"./edit-materials/edit-materials.component\";\r\nimport { MaterialsTableComponent } from \"./materials-list/materials-table/materials-table.component\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MaterialsComponent } from \"./materials.component\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromMaterial from \"../../../core/store/reducers/material.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { MaterialEffects } from \"../../../core/store/effects/material.effects\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: MaterialsComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: MaterialsListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditMaterialsComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditMaterialsComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n MaterialsComponent,\r\n MaterialsListComponent,\r\n EditMaterialsComponent,\r\n MaterialsTableComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(\r\n fromMaterial.materialFeatureKey,\r\n fromMaterial.reducer\r\n ),\r\n EffectsModule.forFeature([MaterialEffects]),\r\n ],\r\n})\r\nexport class MaterialsModule {}\r\n","import { PilotTasksModule } from \"./pilot-tasks/pilot-tasks.module\";\r\nimport { FieldsModule } from \"./fields/fields.module\";\r\nimport { TasksModule } from \"./tasks/tasks.module\";\r\nimport { CustomersModule } from \"./customers/customers.module\";\r\nimport { ProtocolsModule } from \"./protocols/protocols.module\";\r\nimport { MaterialsModule } from \"./materials/materials.module\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\n// Partials\r\nimport { PartialsModule } from \"../partials/partials.module\";\r\n// Pages\r\nimport { CoreModule } from \"../../core/core.module\";\r\nimport { UserManagementModule } from \"./user-management/user-management.module\";\r\nimport { DronesModule } from \"./drones/drones.module\";\r\nimport { DronePilotsModule } from \"./drone-pilots/drone-pilots.module\";\r\nimport { MaterialsComponent } from \"./materials/materials.component\";\r\nimport { ProtocolsComponent } from \"./protocols/protocols.component\";\r\nimport { FieldsComponent } from \"./fields/fields.component\";\r\nimport { TasksComponent } from \"./tasks/tasks.component\";\r\n\r\n@NgModule({\r\n declarations: [],\r\n exports: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n CoreModule,\r\n PartialsModule,\r\n UserManagementModule,\r\n TasksModule,\r\n DronesModule,\r\n DronePilotsModule,\r\n MaterialsModule,\r\n ProtocolsModule,\r\n CustomersModule,\r\n FieldsModule,\r\n ],\r\n providers: [],\r\n})\r\nexport class PagesModule {}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\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
\r\n \r\n \r\n Margin space is\r\n required\r\n \r\n Please enter\r\n margin space\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Row space is\r\n required\r\n \r\n Please enter\r\n row space\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Dunam volume space is\r\n required\r\n \r\n Please enter\r\n dunam volume\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Water volume space is\r\n required\r\n \r\n Please enter\r\n water volume\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Nozzle space is\r\n required\r\n \r\n Please enter\r\n nozzle\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n \r\n Back\r\n \r\n \r\n \r\n Reset\r\n \r\n \r\n Save\r\n \r\n \r\n\r\n","import { selectPayloadsSelector } from \"./../../../../core/store/selectors/drones.selectors\";\r\nimport { DronePayload } from \"./../../../../core/models/drone-payload.model\";\r\nimport { selectMaterialsSelector } from \"./../../../../core/store/selectors/material.selectors\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { Observable, combineLatest, ReplaySubject } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectProtocolsLoading,\r\n selectCurrentProtocol,\r\n} from \"src/app/core/store/selectors/protocol.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport {\r\n loadProtocol,\r\n updateProtocol,\r\n addProtocol,\r\n} from \"src/app/core/store/actions/protocol.actions\";\r\nimport { ProtocolState } from \"src/app/core/store/reducers/protocol.reducer\";\r\nimport { loadMaterials } from \"src/app/core/store/actions/material.actions\";\r\n\r\n@Component({\r\n selector: \"kt-edit-protocol\",\r\n templateUrl: \"./edit-protocol.component.html\",\r\n styleUrls: [\"./edit-protocol.component.scss\"],\r\n})\r\nexport class EditProtocolComponent implements OnInit, OnDestroy {\r\n title = \"Add Protocol\";\r\n isEdit = false;\r\n protocol: Protocol;\r\n protocolForm: FormGroup;\r\n hasFormErrors = false;\r\n materials: Material[];\r\n payloads: DronePayload[];\r\n loading$: Observable;\r\n\r\n public materialSelectControl: FormControl = new FormControl();\r\n public payloadSelectControl: FormControl = new FormControl();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private protocolFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectProtocolsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.protocol = Protocol.createEmpty();\r\n this.createForm();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectMaterialsSelector), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentProtocol), untilDestroyed(this)),\r\n this.store.pipe(select(selectPayloadsSelector), untilDestroyed(this))\r\n ).subscribe(([materials, currentProtocol, payloads]) => {\r\n this.materials = materials;\r\n this.payloads = payloads;\r\n\r\n if (currentProtocol && this.isEdit) {\r\n this.protocol = cloneDeep(currentProtocol);\r\n this.createForm();\r\n }\r\n });\r\n\r\n let protocolId = this.route.snapshot.params[\"id\"];\r\n\r\n if (protocolId && protocolId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Protocol\";\r\n\r\n this.store.dispatch(loadProtocol({ data: protocolId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.protocolForm = this.protocolFB.group({\r\n name: [this.protocol.name, Validators.required],\r\n marginSpace: [this.protocol.marginSpace, Validators.required],\r\n rowSpace: [this.protocol.rowSpace, Validators.required],\r\n dunamVolume: [this.protocol.dunamVolume, Validators.required],\r\n waterVolume: [this.protocol.waterVolume, Validators.required],\r\n nozzle: [this.protocol.nozzle, Validators.required],\r\n });\r\n\r\n this.protocolForm.addControl(\r\n \"materialsSelectControl\",\r\n this.materialSelectControl\r\n );\r\n this.protocolForm.controls.materialsSelectControl.setValidators(\r\n Validators.required\r\n );\r\n if (this.protocol.material) {\r\n this.materialSelectControl.setValue(this.protocol.material.materialId);\r\n }\r\n\r\n this.protocolForm.addControl(\r\n \"payloadSelectControl\",\r\n this.payloadSelectControl\r\n );\r\n this.protocolForm.controls.payloadSelectControl.setValidators(\r\n Validators.required\r\n );\r\n if (this.protocol.payload) {\r\n this.payloadSelectControl.setValue(this.protocol.payload.payloadId);\r\n }\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.protocolForm.controls;\r\n /** check form */\r\n if (this.protocolForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareProtocol();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateProtocol({ data: this.protocol }));\r\n } else {\r\n this.store.dispatch(addProtocol({ data: this.protocol }));\r\n }\r\n }\r\n\r\n prepareProtocol() {\r\n this.protocol.name = this.protocolForm.controls.name.value;\r\n this.protocol.material = this.materials.find(\r\n (m) => m.materialId == this.materialSelectControl.value\r\n );\r\n this.protocol.payload = this.payloads.find(\r\n (p) => p.payloadId == this.payloadSelectControl.value\r\n );\r\n this.protocol.marginSpace = this.protocolForm.controls.marginSpace.value;\r\n this.protocol.rowSpace = this.protocolForm.controls.rowSpace.value;\r\n this.protocol.dunamVolume = this.protocolForm.controls.dunamVolume.value;\r\n this.protocol.waterVolume = this.protocolForm.controls.waterVolume.value;\r\n this.protocol.nozzle = this.protocolForm.controls.nozzle.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Protocol\r\n \r\n\r\n","import { selectProtocolsSelector } from \"./../../../../core/store/selectors/protocol.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { ProtocolState } from \"src/app/core/store/reducers/protocol.reducer\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport { selectProtocolsLoading } from \"src/app/core/store/selectors/protocol.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadProtocols,\r\n deleteProtocol,\r\n} from \"src/app/core/store/actions/protocol.actions\";\r\n\r\n@Component({\r\n selector: \"kt-protocols-list\",\r\n templateUrl: \"./protocols-list.component.html\",\r\n styleUrls: [\"./protocols-list.component.scss\"],\r\n})\r\nexport class ProtocolsListComponent implements OnInit, OnDestroy {\r\n loading;\r\n protocols: Protocol[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectProtocolsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((protocols) => {\r\n this.protocols = protocols;\r\n });\r\n\r\n this.store.dispatch(loadProtocols());\r\n }\r\n\r\n deleteProtocol(_item: Protocol) {\r\n const _title = \"Protocol Delete\";\r\n const _description = \"Are you sure to permanently delete this protocol?\";\r\n const _waitDesciption = \"Protocol is deleting...\";\r\n const _deleteMessage = `Protocol has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteProtocol({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{\r\n row.material.name\r\n }}\r\n\r\n\r\n\r\n {{ row.payload.name }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-protocols-table\",\r\n templateUrl: \"./protocols-table.component.html\",\r\n styleUrls: [\"./protocols-table.component.scss\"],\r\n})\r\nexport class ProtocolsTableComponent implements OnInit, AfterViewInit {\r\n @Input() protocols: Protocol[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteProtocol = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"payloadTemplate\", { static: false }) payloadTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"materialTemplate\", { static: false })\r\n materialTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"material\",\r\n clientFieldName: \"material\",\r\n displayNameKey: \"Material\",\r\n sortable: true,\r\n template: this.materialTemplate,\r\n },\r\n {\r\n serverFieldName: \"payload\",\r\n clientFieldName: \"payload\",\r\n displayNameKey: \"Payload\",\r\n sortable: true,\r\n template: this.payloadTemplate,\r\n },\r\n {\r\n serverFieldName: \"nozzle\",\r\n clientFieldName: \"nozzle\",\r\n displayNameKey: \"Nozzle\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"marginSpace\",\r\n clientFieldName: \"marginSpace\",\r\n displayNameKey: \"Margin Space\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"rowSpace\",\r\n clientFieldName: \"rowSpace\",\r\n displayNameKey: \"Row Space\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"dunamVolume\",\r\n clientFieldName: \"dunamVolume\",\r\n displayNameKey: \"Dunam Volume\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"waterVolume\",\r\n clientFieldName: \"waterVolume\",\r\n displayNameKey: \"Water Volume\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editProtocolClick(protocol: Protocol) {\r\n this.router.navigate([protocol.protocolId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { loadDronePayloads } from \"./../../../core/store/actions/drones.actions\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { loadMaterials } from \"src/app/core/store/actions/material.actions\";\r\n\r\n@Component({\r\n selector: \"kt-protocols\",\r\n templateUrl: \"./protocols.component.html\",\r\n styleUrls: [\"./protocols.component.scss\"],\r\n})\r\nexport class ProtocolsComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadMaterials());\r\n this.store.dispatch(loadDronePayloads());\r\n }\r\n}\r\n","import { ProtocolsTableComponent } from \"./protocols-list/protocols-table/protocols-table.component\";\r\nimport { EditProtocolComponent } from \"./edit-protocol/edit-protocol.component\";\r\nimport { ProtocolsListComponent } from \"./protocols-list/protocols-list.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ProtocolsComponent } from \"./protocols.component\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { StoreModule } from '@ngrx/store';\r\nimport * as fromProtocol from '../../../core/store/reducers/protocol.reducer';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { ProtocolEffects } from '../../../core/store/effects/protocol.effects';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: ProtocolsComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: ProtocolsListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditProtocolComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditProtocolComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n ProtocolsComponent,\r\n ProtocolsListComponent,\r\n EditProtocolComponent,\r\n ProtocolsTableComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromProtocol.protocolFeatureKey, fromProtocol.reducer),\r\n EffectsModule.forFeature([ProtocolEffects]),\r\n ],\r\n})\r\nexport class ProtocolsModule {}\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 {{ status.name }}\r\n \r\n\r\n Please select a\r\n status\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Execution date is\r\n required\r\n \r\n Please enter\r\n Execution date\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 Assign\r\n \r\n\r\n","import { AssignTaskWrapper } from \"./../../../../../core/models/assignTaskWrapper.model\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { DronePilot } from \"./../../../../../core/models/drone-pilot.model\";\r\nimport { Component, OnInit, OnDestroy, Inject } from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectStatuses,\r\n selectTasksModalLoading,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { assignTasks } from \"src/app/core/store/actions/task.actions\";\r\nimport { ViewChild } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"kt-assign-selected-form\",\r\n templateUrl: \"./assign-selected-form.component.html\",\r\n styleUrls: [\"./assign-selected-form.component.scss\"],\r\n})\r\nexport class AssignSelectedFormComponent implements OnInit, OnDestroy {\r\n loading$;\r\n statuses: Status[];\r\n pilots: DronePilot[];\r\n selectedTasks: MapTask[];\r\n\r\n assignForm: FormGroup;\r\n\r\n submitting = false;\r\n\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n @ViewChild(\"assignExecutionDateFormControl\") assignExecutionDateFormControl;\r\n\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) data: any,\r\n private store: Store,\r\n private assignFb: FormBuilder,\r\n public dialogRef: MatDialogRef\r\n ) {\r\n this.selectedTasks = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksModalLoading));\r\n\r\n this.store\r\n .pipe(select(selectTasksModalLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n if (loading === false && this.submitting) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s;\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.assignForm = this.assignFb.group({\r\n executionDate: [null, Validators.required],\r\n status: [null, Validators.required],\r\n });\r\n\r\n this.assignForm.addControl(\r\n \"piltosSelectFormControl\",\r\n this.pilotsSelectFormControl\r\n );\r\n this.pilotsSelectFormControl.setValidators(Validators.required);\r\n }\r\n\r\n onSumbit() {\r\n const controls = this.assignForm.controls;\r\n /** check form */\r\n if (this.assignForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n return;\r\n }\r\n\r\n let assignTaskWrapper = this.prepareAssignTasks();\r\n\r\n this.submitting = true;\r\n this.store.dispatch(assignTasks({ data: assignTaskWrapper }));\r\n }\r\n\r\n prepareAssignTasks(): AssignTaskWrapper {\r\n let taskIds = this.selectedTasks.map((t) => t.task.taskId);\r\n\r\n return {\r\n tasksToAssign: taskIds,\r\n statusId: this.assignForm.controls.status.value,\r\n assignToPilotId: this.pilotsSelectFormControl.value,\r\n executionDate: this.assignExecutionDateFormControl.nativeElement.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\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 \r\n
\r\n
\r\n
\r\n","import {\r\n selectTasksLoading,\r\n selectMapTasks,\r\n selectSelectedMapTasks,\r\n} from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { MapTask } from \"./../../../../core/models/map-task.model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { selectFieldsSelector } from \"src/app/core/store/selectors/field.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { mapTaskSelected } from \"src/app/core/store/actions/task.actions\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-assign-tasks\",\r\n templateUrl: \"./assign-tasks.component.html\",\r\n styleUrls: [\"./assign-tasks.component.scss\"],\r\n})\r\nexport class AssignTasksComponent implements OnInit, OnDestroy {\r\n loading$;\r\n mapTasks: MapTask[];\r\n selectedMapTasks: MapTask[];\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectMapTasks), untilDestroyed(this))\r\n .subscribe((mapTasks) => {\r\n this.mapTasks = cloneDeep(mapTasks);\r\n });\r\n\r\n this.store\r\n .pipe(select(selectSelectedMapTasks), untilDestroyed(this))\r\n .subscribe((selectedMapTasks) => {\r\n this.selectedMapTasks = cloneDeep(selectedMapTasks);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n {{ selectedMapTask?.task.field.customer.name }}\r\n
\r\n
\r\n {{ selectedMapTask?.task.field.cropName }}\r\n
\r\n
\r\n {{ selectedMapTask?.task.field.plantingYear }}\r\n
\r\n
\r\n {{ selectedMapTask?.task.field.plotNumber }}\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n settings_backup_restore\r\n \r\n\r\n \r\n Select\r\n \r\n \r\n Unselect\r\n \r\n
\r\n","import { Actions, ofType } from \"@ngrx/effects\";\r\n\r\nimport {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n OnChanges,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { Coordinate } from \"src/app/core/models/coordinate.mode\";\r\nimport { InfoWindow } from \"@agm/core/services/google-maps-types\";\r\nimport { AgmMap, LatLngLiteral, FitBoundsAccessor } from \"@agm/core\";\r\nimport {\r\n mapTaskSelected,\r\n mapTaskTableClick,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\n\r\ndeclare const google: any;\r\n\r\n@Component({\r\n selector: \"kt-task-fields-map\",\r\n templateUrl: \"./task-fields-map.component.html\",\r\n styleUrls: [\"./task-fields-map.component.scss\"],\r\n})\r\nexport class TaskFieldsMapComponent implements OnInit, OnChanges, OnDestroy {\r\n zoom = 17;\r\n bounds = {\r\n north: 33.290422,\r\n south: 29.49388,\r\n west: 34.219153,\r\n east: 35.579897,\r\n };\r\n @Input() coordinates: Coordinate[];\r\n @Input() center: Coordinate;\r\n @Input() mapTasks: MapTask[];\r\n\r\n @ViewChild(\"map\") map: AgmMap;\r\n drawingManager;\r\n selectedShape;\r\n infoWindow;\r\n selectedMapTask: MapTask;\r\n\r\n constructor(private store: Store, private actions$: Actions) {}\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (\r\n changes.mapTasks &&\r\n this.mapTasks?.length > 0 &&\r\n changes.mapTasks.currentValue?.length !=\r\n changes.mapTasks.previousValue?.length\r\n ) {\r\n this.center = this.mapTasks[0].task.field.coordinates[0];\r\n this.fitBounds();\r\n }\r\n }\r\n\r\n fitBounds() {\r\n let allCoords = this.mapTasks.reduce(\r\n (acc, val) => acc.concat(val.task.field.coordinates),\r\n []\r\n );\r\n\r\n let lats = allCoords.map((c) => c.lat);\r\n let lngs = allCoords.map((c) => c.lng);\r\n\r\n let maxLat = Math.max(...lats);\r\n let minLat = Math.min(...lats);\r\n let maxLng = Math.max(...lngs);\r\n let minLng = Math.min(...lngs);\r\n\r\n this.bounds = {\r\n north: maxLat,\r\n south: minLat,\r\n east: maxLng,\r\n west: minLng,\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.actions$\r\n .pipe(ofType(mapTaskTableClick), untilDestroyed(this))\r\n .subscribe((action) => {\r\n this.center = null;\r\n setTimeout(\r\n () => (this.center = action.data.task.field.coordinates[0]),\r\n 0\r\n );\r\n\r\n this.zoom = 17;\r\n });\r\n }\r\n\r\n mouseOverPoly(infoWindow: InfoWindow, mapTask: MapTask) {\r\n this.selectedMapTask = mapTask;\r\n infoWindow.open();\r\n }\r\n\r\n mapTaskSelected(mapTask: MapTask) {\r\n this.store.dispatch(\r\n mapTaskSelected({ mapTask: mapTask, selected: !mapTask.isSelected })\r\n );\r\n }\r\n\r\n selectTasksInRect(select: boolean) {\r\n if (this.selectedShape) {\r\n const northEeast = Object.values(Object.values(this.selectedShape.bounds)[1]);\r\n const southWest = Object.values(Object.values(this.selectedShape.bounds)[0]);\r\n\r\n const swLat = southWest[1];\r\n const swLng = southWest[0];\r\n const neLat = northEeast[1];\r\n const neLng = northEeast[0];\r\n\r\n this.mapTasks.forEach((mapTask) => {\r\n let coor = mapTask.task.field.coordinates[0];\r\n\r\n if (\r\n coor.lat < swLat &&\r\n coor.lng < neLat &&\r\n coor.lat > swLng &&\r\n coor.lng > neLng &&\r\n !mapTask.isSelected == select\r\n ) {\r\n this.store.dispatch(\r\n mapTaskSelected({ mapTask: mapTask, selected: select })\r\n );\r\n }\r\n });\r\n\r\n this.deleteSelectedShape();\r\n }\r\n }\r\n\r\n onMapReady(map) {\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"delete-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"select-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"unselect-button\")\r\n );\r\n\r\n this.initDrawingManager(map);\r\n }\r\n\r\n initDrawingManager(map: any) {\r\n const options = {\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n drawingModes: [\"rectangle\"],\r\n },\r\n rectangleOptions: {\r\n draggable: true,\r\n editable: true,\r\n },\r\n };\r\n this.drawingManager = new google.maps.drawing.DrawingManager(options);\r\n this.drawingManager.modeChanged;\r\n this.drawingManager.setMap(map);\r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n \"overlaycomplete\",\r\n (e) => {\r\n {\r\n // Switch back to non-drawing mode after drawing a shape.\r\n this.drawingManager.setDrawingMode(null);\r\n // To hide:\r\n this.drawingManager.setOptions({\r\n drawingControl: false,\r\n });\r\n\r\n // Add an event listener that selects the newly-drawn shape when the user\r\n // mouses down on it.\r\n var newShape = e.overlay;\r\n newShape.type = e.type;\r\n google.maps.event.addListener(newShape, \"click\", function () {\r\n this.setSelection(newShape);\r\n });\r\n this.setSelection(newShape);\r\n }\r\n }\r\n );\r\n }\r\n\r\n clearSelection() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setEditable(false);\r\n this.selectedShape = null;\r\n }\r\n }\r\n\r\n setSelection(shape) {\r\n this.clearSelection();\r\n this.selectedShape = shape;\r\n shape.setEditable(true);\r\n }\r\n\r\n deleteSelectedShape() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setMap(null);\r\n // To show:\r\n this.drawingManager.setOptions({\r\n drawingControl: true,\r\n });\r\n\r\n this.clearSelection();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n"," 0; else hint\"\r\n [data]=\"mapTasks\"\r\n (loadData)=\"loadData.emit($event)\"\r\n [columns]=\"columns\"\r\n showSelect=\"true\"\r\n [showFilter]=\"false\"\r\n [selectAllByDefault]=\"true\"\r\n [hover]=\"true\"\r\n [hasMasterToggle]=\"false\"\r\n [selectActionsTemplate]=\"selectActionsTemplate\"\r\n (selectionChanged)=\"mapTaskSelected($event)\"\r\n (rowClicked)=\"mapTaskClicked($event)\"\r\n>\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n

Select fields on the map to see them here

\r\n
Use the rectangle tool to select multiple fields
\r\n
\r\n
\r\n\r\n\r\n {{ row.task.field.cropName }}\r\n\r\n\r\n\r\n {{ row.task.protocol.dunamVolume }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n","import {\r\n mapTaskSelected,\r\n mapTaskTableClick,\r\n} from \"./../../../../../core/store/actions/task.actions\";\r\nimport { MapTask } from \"./../../../../../core/models/map-task.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { AssignSelectedFormComponent } from \"../assign-selected-form/assign-selected-form.component\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-task-fields-table\",\r\n templateUrl: \"./task-fields-table.component.html\",\r\n styleUrls: [\"./task-fields-table.component.scss\"],\r\n})\r\nexport class TaskFieldsTableComponent implements OnInit, AfterViewInit {\r\n @Input() mapTasks: MapTask[];\r\n @Output() loadData = new EventEmitter();\r\n\r\n @ViewChild(\"cropNameTemplate\") cropNameTemplate: TemplateRef;\r\n @ViewChild(\"dunamTemplate\") dunamTemplate: TemplateRef;\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(\r\n private store: Store,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"cropName\",\r\n clientFieldName: \"cropName\",\r\n displayNameKey: \"Crop Name\",\r\n sortable: true,\r\n template: this.cropNameTemplate,\r\n },\r\n {\r\n serverFieldName: \"dunamVolume\",\r\n clientFieldName: \"dunamVolume\",\r\n displayNameKey: \"Dunam Volume\",\r\n sortable: true,\r\n template: this.dunamTemplate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n mapTaskSelected($event) {\r\n this.store.dispatch(\r\n mapTaskSelected({\r\n mapTask: $event.row,\r\n selected: !$event.row.isSelected,\r\n })\r\n );\r\n }\r\n\r\n mapTaskClicked(mapTask: MapTask) {\r\n this.store.dispatch(mapTaskTableClick({ data: mapTask }));\r\n }\r\n\r\n assignTasks() {\r\n let dialogRef = this.dialog.open(AssignSelectedFormComponent, {\r\n data: this.mapTasks,\r\n width: \"750px\",\r\n });\r\n }\r\n\r\n editTaskClick(mapTask: MapTask) {\r\n this.router.navigate([\"edit/\" + mapTask.task.taskId], {\r\n relativeTo: this.route,\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\r\n \r\n
\r\n \r\n \r\n {{\r\n status.name\r\n }}\r\n \r\n\r\n Please select a\r\n status\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 \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Filter\r\n \r\n
\r\n
\r\n","import { TaskFilterWrapper } from \"./../../../../../core/models/task-filter-wrapper.model\";\r\nimport { selectPilotsSelector } from \"./../../../../../core/store/selectors/drone-pilots.selectors\";\r\nimport { selectMaterialsSelector } from \"./../../../../../core/store/selectors/material.selectors\";\r\n\r\nimport { Protocol } from \"./../../../../../core/models/protocol.model\";\r\nimport { Material } from \"./../../../../../core/models/material.model\";\r\nimport { DronePilot } from \"./../../../../../core/models/drone-pilot.model\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { filterTasks } from \"./../../../../../core/store/actions/task.actions\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ViewChild,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport {\r\n selectStatuses,\r\n selectTasksLoading,\r\n selectTaskFilterWrapper,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { selectProtocolsSelector } from \"src/app/core/store/selectors/protocol.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-tasks-filter\",\r\n templateUrl: \"./tasks-filter.component.html\",\r\n styleUrls: [\"./tasks-filter.component.scss\"],\r\n})\r\nexport class TasksFilterComponent implements OnInit, OnDestroy, AfterViewInit {\r\n loading$;\r\n\r\n statuses: Status[];\r\n customers: Customer[];\r\n pilots: DronePilot[];\r\n materials: Material[];\r\n protocols: Protocol[];\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n public protocolsSelectFormControl: FormControl = new FormControl();\r\n public materialsSelectFormControl: FormControl = new FormControl();\r\n\r\n @ViewChild(\"statusSelectControl\") statusSelectControl: MatSelect;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((m) => {\r\n this.materials = m;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.protocols = p;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.store\r\n .pipe(select(selectTaskFilterWrapper), untilDestroyed(this))\r\n .subscribe((wrapper) => {\r\n if (wrapper) {\r\n this.customersSelectFormControl.setValue(wrapper.customerId);\r\n this.pilotsSelectFormControl.setValue(wrapper.pilotId);\r\n this.statusSelectControl.value = wrapper.statusId;\r\n this.materialsSelectFormControl.setValue(wrapper.materialId);\r\n this.protocolsSelectFormControl.setValue(wrapper.protocolId);\r\n }\r\n });\r\n }\r\n\r\n filterClick() {\r\n let filterWrapper = this.prepareFilterWrapper();\r\n this.store.dispatch(filterTasks({ data: filterWrapper }));\r\n }\r\n\r\n prepareFilterWrapper(): TaskFilterWrapper {\r\n return {\r\n customerId: this.customersSelectFormControl.value,\r\n statusId: this.statusSelectControl.value,\r\n protocolId: this.protocolsSelectFormControl.value,\r\n materialId: this.materialsSelectFormControl.value,\r\n pilotId: this.pilotsSelectFormControl.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\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
\r\n
\r\n
\r\n \r\n \r\n \r\n Please enter\r\n from date\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 \r\n Please enter\r\n to date\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 Filter\r\n \r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ViewChild,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport {\r\n filterTasks,\r\n filterCompletedTasks,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { TaskFilterWrapper } from \"src/app/core/models/task-filter-wrapper.model\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { selectCompletedTasksFilterWrapper } from \"src/app/core/store/selectors/task.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-completed-tasks-filter\",\r\n templateUrl: \"./completed-tasks-filter.component.html\",\r\n styleUrls: [\"./completed-tasks-filter.component.scss\"],\r\n})\r\nexport class CompletedTasksFilterComponent\r\n implements OnInit, OnDestroy, AfterViewInit {\r\n loading$;\r\n\r\n customers: Customer[];\r\n pilots: DronePilot[];\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n\r\n @ViewChild(\"fromDateControl\") fromDateControl;\r\n @ViewChild(\"toDateControl\") toDateControl;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.store\r\n .pipe(select(selectCompletedTasksFilterWrapper), untilDestroyed(this))\r\n .subscribe((wrapper) => {\r\n if (wrapper) {\r\n this.customersSelectFormControl.setValue(wrapper.customerId);\r\n this.pilotsSelectFormControl.setValue(wrapper.pilotId);\r\n this.fromDateControl.nativeElement.value = wrapper.fromDate;\r\n this.toDateControl.nativeElement.value = wrapper.toDate;\r\n }\r\n });\r\n }\r\n\r\n filterClick() {\r\n let filterWrapper = this.prepareFilterWrapper();\r\n this.store.dispatch(filterCompletedTasks({ data: filterWrapper }));\r\n }\r\n\r\n prepareFilterWrapper(): TaskFilterWrapper {\r\n return {\r\n customerId: this.customersSelectFormControl.value,\r\n toDate: this.toDateControl.nativeElement.value,\r\n fromDate: this.fromDateControl.nativeElement.value,\r\n pilotId: this.pilotsSelectFormControl.value,\r\n };\r\n }\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{\r\n row.material.name\r\n }}\r\n\r\n\r\n\r\n {{\r\n row.field.cropName\r\n }}\r\n\r\n\r\n\r\n {{ row.status.name }}\r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n {{ row.protocol.name }}\r\n\r\n\r\n\r\n {{ row.createdAt | date: \"shortDate\" }}\r\n\r\n\r\n\r\n {{ row.pilot?.name }}\r\n\r\n\r\n\r\n {{ row.executionDate | date: \"shortDate\" }}\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-completed-tasks-table\",\r\n templateUrl: \"./completed-tasks-table.component.html\",\r\n styleUrls: [\"./completed-tasks-table.component.scss\"],\r\n})\r\nexport class CompletedTasksTableComponent implements OnInit {\r\n @Input() tasks: Task[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteTask = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"protocolTemplate\", { static: false })\r\n protocolTemplate: TemplateRef;\r\n\r\n @ViewChild(\"fieldTemplate\", { static: false })\r\n fieldTemplate: TemplateRef;\r\n\r\n @ViewChild(\"statusTemplate\", { static: false })\r\n statusTemplate: TemplateRef;\r\n\r\n @ViewChild(\"createdAtTemplate\", { static: false })\r\n createdAtTemplate: TemplateRef;\r\n\r\n @ViewChild(\"executionDate\", { static: false })\r\n executionDate: TemplateRef;\r\n\r\n @ViewChild(\"pilotTemplate\", { static: false })\r\n pilotTemplate: TemplateRef;\r\n\r\n @ViewChild(\"materialTemplate\", { static: false })\r\n materialTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"customer\",\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n serverFieldName: \"material\",\r\n clientFieldName: \"material\",\r\n displayNameKey: \"Material\",\r\n sortable: true,\r\n template: this.materialTemplate,\r\n },\r\n {\r\n serverFieldName: \"protocol\",\r\n clientFieldName: \"protocol\",\r\n displayNameKey: \"Protocol\",\r\n sortable: true,\r\n template: this.protocolTemplate,\r\n },\r\n {\r\n serverFieldName: \"field\",\r\n clientFieldName: \"field\",\r\n displayNameKey: \"Field\",\r\n sortable: true,\r\n template: this.fieldTemplate,\r\n },\r\n {\r\n serverFieldName: \"pilot\",\r\n clientFieldName: \"pilot\",\r\n displayNameKey: \"Pilot\",\r\n sortable: true,\r\n template: this.pilotTemplate,\r\n },\r\n {\r\n serverFieldName: \"status\",\r\n clientFieldName: \"status\",\r\n displayNameKey: \"status\",\r\n sortable: true,\r\n template: this.statusTemplate,\r\n },\r\n {\r\n serverFieldName: \"createdAt\",\r\n clientFieldName: \"createdAt\",\r\n displayNameKey: \"Created\",\r\n sortable: true,\r\n template: this.createdAtTemplate,\r\n },\r\n {\r\n serverFieldName: \"executionDate\",\r\n clientFieldName: \"executionDate\",\r\n displayNameKey: \"Execution\",\r\n sortable: true,\r\n template: this.executionDate,\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 \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectTasksLoading,\r\n selectCompletedTasks,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\n\r\n@Component({\r\n selector: \"kt-completed-tasks\",\r\n templateUrl: \"./completed-tasks.component.html\",\r\n styleUrls: [\"./completed-tasks.component.scss\"],\r\n})\r\nexport class CompletedTasksComponent implements OnInit, OnDestroy {\r\n loading$;\r\n title = \"Completed tasks\";\r\n tasks: Task[];\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectCompletedTasks), untilDestroyed(this))\r\n .subscribe((tasks) => {\r\n if (tasks) {\r\n this.tasks = tasks;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n
\r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n File is\r\n required\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
\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
\r\n
\r\n \r\n \r\n \r\n Requested date is\r\n required\r\n \r\n Please enter\r\n requested date\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 Customer name: \r\n {{ preview.customerName }}\r\n
\r\n
\r\n Material name:\r\n {{ preview.materialName }}\r\n
\r\n
\r\n Protocol name:\r\n {{ preview.protocolName }}\r\n
\r\n
\r\n Execution date: {{ preview.requiredDateStr }}\r\n
\r\n
\r\n Number of tasks in file: {{ preview.totalRecords }}\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n Submit\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n","import { importTasksPreviewSuccess } from \"./../../../../core/store/actions/task.actions\";\r\nimport { ofType, Actions } from \"@ngrx/effects\";\r\nimport { selectPilotsSelector } from \"./../../../../core/store/selectors/drone-pilots.selectors\";\r\nimport { DronePilot } from \"./../../../../core/models/drone-pilot.model\";\r\nimport { selectProtocolsSelector } from \"./../../../../core/store/selectors/protocol.selectors\";\r\nimport { selectMaterialsSelector } from \"../../../../core/store/selectors/material.selectors\";\r\nimport { Material } from \"../../../../core/models/material.model\";\r\nimport {\r\n selectTasksLoading,\r\n selectStatuses,\r\n} from \"../../../../core/store/selectors/task.selectors\";\r\nimport { TaskState } from \"../../../../core/store/reducers/task.reducer\";\r\nimport { Field } from \"../../../../core/models/field.model\";\r\nimport { Protocol } from \"../../../../core/models/protocol.model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n FormBuilder,\r\n} from \"@angular/forms\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport {\r\n importTasks,\r\n importTasksPreview,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { ImportTasksPreview } from \"src/app/core/models/import-tasks-preview.model\";\r\n\r\n@Component({\r\n selector: \"kt-import-task\",\r\n templateUrl: \"./import-task.component.html\",\r\n styleUrls: [\"./import-task.component.scss\"],\r\n})\r\nexport class ImportTaskComponent implements OnInit, OnDestroy {\r\n title = \"Import tasks\";\r\n task: Task;\r\n taskForm: FormGroup;\r\n hasFormErrors = false;\r\n loading$: Observable;\r\n\r\n //statuses: Status[];\r\n customers: Customer[];\r\n protocols: Protocol[];\r\n //pilots: DronePilot[];\r\n materials: Material[];\r\n\r\n preview: ImportTasksPreview;\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n\r\n public materialsSelectFormControl: FormControl = new FormControl();\r\n\r\n public protocolsSelectFormControl: FormControl = new FormControl();\r\n\r\n //public pilotsSelectFormControl: FormControl = new FormControl();\r\n\r\n public filesControl = new FormControl(null, [Validators.required]);\r\n\r\n constructor(\r\n private store: Store,\r\n private taskFB: FormBuilder,\r\n private actions$: Actions\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectTasksLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n // this.store\r\n // .pipe(select(selectStatuses), untilDestroyed(this))\r\n // .subscribe((s) => {\r\n // this.statuses = s;\r\n // });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((m) => {\r\n this.materials = m;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.protocols = p;\r\n });\r\n\r\n // this.store\r\n // .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n // .subscribe((p) => {\r\n // this.pilots = p;\r\n // });\r\n\r\n this.actions$\r\n .pipe(ofType(importTasksPreviewSuccess), untilDestroyed(this))\r\n .subscribe((action) => {\r\n this.preview = action.data;\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.taskForm = this.taskFB.group({\r\n executionDate: [null],\r\n });\r\n\r\n this.taskForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n this.customersSelectFormControl.setValidators(Validators.required);\r\n\r\n this.taskForm.addControl(\r\n \"protocolsSelectFormControl\",\r\n this.protocolsSelectFormControl\r\n );\r\n this.protocolsSelectFormControl.setValidators(Validators.required);\r\n\r\n this.taskForm.addControl(\r\n \"materialsSelectFormControl\",\r\n this.materialsSelectFormControl\r\n );\r\n this.materialsSelectFormControl.setValidators(Validators.required);\r\n\r\n // this.taskForm.addControl(\r\n // \"pilotsSelectFormControl\",\r\n // this.pilotsSelectFormControl\r\n // );\r\n // this.pilotsSelectFormControl.setValidators(Validators.required);\r\n\r\n this.taskForm.addControl(\"fileUploadControl\", this.filesControl);\r\n\r\n this.taskForm.valueChanges.subscribe((v) => {\r\n //if (this.taskForm.valid) {\r\n if (this.filesControl.valid) {\r\n let task = new Task(\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null, // pilot,\r\n null, // status,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null\r\n );\r\n\r\n this.store.dispatch(\r\n importTasksPreview({ task: task, file: this.filesControl.value })\r\n );\r\n }\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.taskForm.controls;\r\n /** check form */\r\n if (this.taskForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n let task = this.prepareTask();\r\n\r\n this.store.dispatch(\r\n importTasks({ task: task, file: this.filesControl.value })\r\n );\r\n }\r\n\r\n prepareTask() {\r\n let customer = this.customers.find(\r\n (c) => c.customerId == this.customersSelectFormControl.value\r\n );\r\n let protocol = this.protocols.find(\r\n (c) => c.protocolId == this.protocolsSelectFormControl.value\r\n );\r\n let material = this.materials.find(\r\n (c) => c.materialId == this.materialsSelectFormControl.value\r\n );\r\n\r\n let task = new Task(\r\n null,\r\n customer,\r\n null,\r\n material,\r\n protocol,\r\n null, // pilot,\r\n null, // status,\r\n null,\r\n this.taskForm.controls.executionDate.value,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null\r\n );\r\n\r\n return task;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{ status.name }}\r\n \r\n\r\n Please select a\r\n status\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n Assign\r\n \r\n\r\n","import { Component, OnInit, OnDestroy, Inject } from \"@angular/core\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { AssignSelectedFormComponent } from \"../../assign-tasks/assign-selected-form/assign-selected-form.component\";\r\nimport {\r\n selectTasksModalLoading,\r\n selectStatuses,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport {\r\n assignTasks,\r\n assignControllerTasks,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { AssignTaskWrapper } from \"src/app/core/models/assignTaskWrapper.model\";\r\n\r\n@Component({\r\n selector: \"kt-controller-assign-selected\",\r\n templateUrl: \"./controller-assign-selected.component.html\",\r\n styleUrls: [\"./controller-assign-selected.component.scss\"],\r\n})\r\nexport class ControllerAssignSelectedComponent implements OnInit, OnDestroy {\r\n loading$;\r\n statuses: Status[];\r\n selectedTasks: MapTask[];\r\n\r\n assignForm: FormGroup;\r\n\r\n submitting = false;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) data: any,\r\n private store: Store,\r\n private assignFb: FormBuilder,\r\n public dialogRef: MatDialogRef\r\n ) {\r\n this.selectedTasks = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksModalLoading));\r\n\r\n this.store\r\n .pipe(select(selectTasksModalLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n if (loading === false && this.submitting) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s.filter(\r\n (s) => s.name == \"Completed\" || s.name == \"Uncompleted\"\r\n );\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.assignForm = this.assignFb.group({\r\n status: [null, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n const controls = this.assignForm.controls;\r\n /** check form */\r\n if (this.assignForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n return;\r\n }\r\n\r\n let assignTaskWrapper = this.prepareAssignTasks();\r\n\r\n this.submitting = true;\r\n this.store.dispatch(assignControllerTasks({ data: assignTaskWrapper }));\r\n }\r\n\r\n prepareAssignTasks() {\r\n let taskIds = this.selectedTasks.map((t) => t.task.taskId);\r\n\r\n return {\r\n tasksToAssign: taskIds,\r\n statusId: this.assignForm.controls.status.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\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
\r\n
\r\n \r\n \r\n \r\n Execution date is\r\n required\r\n \r\n Please enter\r\n Execution date\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Filter\r\n \r\n
\r\n
\r\n","import { combineLatest } from \"rxjs\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n AfterViewInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { select } from \"@ngrx/store\";\r\nimport {\r\n selectDronesLoading,\r\n selectDrones,\r\n} from \"src/app/core/store/selectors/drones.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { loadDrones } from \"src/app/core/store/actions/drones.actions\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport {\r\n selectTasksLoading,\r\n selectControllerFilterWrapper,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport {\r\n filterTasks,\r\n filterControllerTasks,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { TaskFilterWrapper } from \"src/app/core/models/task-filter-wrapper.model\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport { filter } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"kt-controller-filter\",\r\n templateUrl: \"./controller-filter.component.html\",\r\n styleUrls: [\"./controller-filter.component.scss\"],\r\n})\r\nexport class ControllerFilterComponent\r\n implements OnInit, OnDestroy, AfterViewInit {\r\n drones: Drone[];\r\n pilots: DronePilot[];\r\n // selectedDrones = [];\r\n loading$;\r\n columns: DataTableColumn[];\r\n\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n public dronesSelectFormControl: FormControl = new FormControl();\r\n\r\n @ViewChild(\"executionDateFormControl\") executionDateFormControl;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n combineLatest(\r\n this.store.pipe(selectDrones, untilDestroyed(this)),\r\n this.store.pipe(\r\n select(selectControllerFilterWrapper),\r\n untilDestroyed(this)\r\n )\r\n ).subscribe(([drones, filter]) => {\r\n this.drones = drones;\r\n if (filter) {\r\n this.dronesSelectFormControl.setValue(filter.dronesList);\r\n this.pilotsSelectFormControl.setValue(filter.pilotId);\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.executionDateFormControl.nativeElement.value = new Date().toLocaleDateString();\r\n\r\n this.columns = [\r\n {\r\n serverFieldName: \"tailNumber\",\r\n clientFieldName: \"tailNumber\",\r\n displayNameKey: \"Tail Number\",\r\n sortable: true,\r\n },\r\n ];\r\n });\r\n\r\n this.store.dispatch(loadDrones());\r\n }\r\n\r\n filterClick() {\r\n let filterWrapper = this.prepareFilterWrapper();\r\n this.store.dispatch(filterControllerTasks({ data: filterWrapper }));\r\n }\r\n\r\n prepareFilterWrapper(): TaskFilterWrapper {\r\n return {\r\n pilotId: this.pilotsSelectFormControl.value,\r\n executionDate: this.executionDateFormControl.nativeElement.value,\r\n dronesList: this.dronesSelectFormControl.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n Customer name: {{ selectedMapTask?.task.field.customer.name }}\r\n
\r\n
\r\n Crop name: {{ selectedMapTask?.task.field.cropName }}\r\n
\r\n
\r\n Planting year: {{ selectedMapTask?.task.field.plantingYear }}\r\n
\r\n
\r\n Plot number: {{ selectedMapTask?.task.field.plotNumber }}\r\n
\r\n
Status: {{ selectedMapTask?.task.status.name }}
\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 {{ selectedDroneRoute?.tailNumber }}\r\n \r\n \r\n \r\n\r\n \r\n settings_backup_restore\r\n \r\n\r\n \r\n Select\r\n \r\n \r\n Unselect\r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n Input,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { Coordinate } from \"src/app/core/models/coordinate.mode\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { AgmMap } from \"@agm/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Actions, ofType } from \"@ngrx/effects\";\r\nimport {\r\n mapTaskTableClick,\r\n mapTaskSelected,\r\n controllerMapTaskSelected,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { InfoWindow } from \"@agm/core/services/google-maps-types\";\r\nimport { DroneRoute } from \"src/app/core/models/drone-route-model\";\r\n\r\ndeclare const google: any;\r\n\r\n@Component({\r\n selector: \"kt-controller-map\",\r\n templateUrl: \"./controller-map.component.html\",\r\n styleUrls: [\"./controller-map.component.scss\"],\r\n})\r\nexport class ControllerMapComponent implements OnInit, OnChanges, OnDestroy {\r\n zoom = 17;\r\n bounds = {\r\n north: 33.290422,\r\n south: 29.49388,\r\n west: 34.219153,\r\n east: 35.579897,\r\n };\r\n @Input() coordinates: Coordinate[];\r\n @Input() center: Coordinate;\r\n @Input() mapTasks: MapTask[];\r\n @Input() droneRoutes: DroneRoute;\r\n\r\n @ViewChild(\"map\") map: AgmMap;\r\n drawingManager;\r\n selectedShape;\r\n infoWindow;\r\n selectedMapTask: MapTask;\r\n selectedDroneRoute: DroneRoute;\r\n\r\n constructor(private store: Store, private actions$: Actions) {}\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (\r\n changes.mapTasks &&\r\n this.mapTasks?.length > 0 &&\r\n changes.mapTasks.currentValue?.length !=\r\n changes.mapTasks.previousValue?.length\r\n ) {\r\n this.center = this.mapTasks[0].task.field.coordinates[0];\r\n this.fitBounds();\r\n }\r\n }\r\n\r\n fitBounds() {\r\n let allCoords = this.mapTasks.reduce(\r\n (acc, val) => acc.concat(val.task.field.coordinates),\r\n []\r\n );\r\n\r\n let lats = allCoords.map((c) => c.lat);\r\n let lngs = allCoords.map((c) => c.lng);\r\n\r\n let maxLat = Math.max(...lats);\r\n let minLat = Math.min(...lats);\r\n let maxLng = Math.max(...lngs);\r\n let minLng = Math.min(...lngs);\r\n\r\n this.bounds = {\r\n north: maxLat,\r\n south: minLat,\r\n east: maxLng,\r\n west: minLng,\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.actions$\r\n .pipe(ofType(mapTaskTableClick), untilDestroyed(this))\r\n .subscribe((action) => {\r\n this.centerOnCoordinate(action.data.task.field.coordinates[0]);\r\n });\r\n }\r\n\r\n mouseOverPoly(infoWindow: InfoWindow, mapTask: MapTask) {\r\n this.selectedMapTask = mapTask;\r\n infoWindow.open();\r\n }\r\n\r\n mouseOverRouteMarker(droneRouteWindow, route) {\r\n this.selectedDroneRoute = route;\r\n droneRouteWindow.open();\r\n }\r\n\r\n mapTaskSelected(mapTask: MapTask) {\r\n this.store.dispatch(\r\n controllerMapTaskSelected({\r\n mapTask: mapTask,\r\n selected: !mapTask.isSelected,\r\n })\r\n );\r\n }\r\n\r\n selectTasksInRect(select: boolean) {\r\n if (this.selectedShape) {\r\n const northEeast = Object.values(Object.values(this.selectedShape.bounds)[1]);\r\n const southWest = Object.values(Object.values(this.selectedShape.bounds)[0]);\r\n\r\n const swLat = southWest[1];\r\n const swLng = southWest[0];\r\n const neLat = northEeast[1];\r\n const neLng = northEeast[0];\r\n\r\n this.mapTasks.forEach((mapTask) => {\r\n let coor = mapTask.task.field.coordinates[0];\r\n\r\n if (\r\n coor.lat < swLat &&\r\n coor.lng < neLat &&\r\n coor.lat > swLng &&\r\n coor.lng > neLng &&\r\n !mapTask.isSelected == select\r\n ) {\r\n this.store.dispatch(\r\n mapTaskSelected({ mapTask: mapTask, selected: select })\r\n );\r\n }\r\n });\r\n\r\n this.deleteSelectedShape();\r\n }\r\n }\r\n\r\n routeSelected(route) {\r\n this.centerOnCoordinate(route.coordinates[0]);\r\n }\r\n\r\n centerOnCoordinate(coordinate) {\r\n this.center = null;\r\n setTimeout(() => (this.center = coordinate), 0);\r\n\r\n this.zoom = 17;\r\n }\r\n\r\n onMapReady(map) {\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"delete-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"select-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"unselect-button\")\r\n );\r\n\r\n map.controls[google.maps.ControlPosition.TOP_RIGHT].push(\r\n document.getElementById(\"route-list-panel\")\r\n );\r\n\r\n this.initDrawingManager(map);\r\n }\r\n\r\n initDrawingManager(map: any) {\r\n const options = {\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n drawingModes: [\"rectangle\"],\r\n },\r\n rectangleOptions: {\r\n draggable: true,\r\n editable: true,\r\n },\r\n };\r\n this.drawingManager = new google.maps.drawing.DrawingManager(options);\r\n this.drawingManager.modeChanged;\r\n this.drawingManager.setMap(map);\r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n \"overlaycomplete\",\r\n (e) => {\r\n {\r\n // Switch back to non-drawing mode after drawing a shape.\r\n this.drawingManager.setDrawingMode(null);\r\n // To hide:\r\n this.drawingManager.setOptions({\r\n drawingControl: false,\r\n });\r\n\r\n // Add an event listener that selects the newly-drawn shape when the user\r\n // mouses down on it.\r\n var newShape = e.overlay;\r\n newShape.type = e.type;\r\n google.maps.event.addListener(newShape, \"click\", function () {\r\n this.setSelection(newShape);\r\n });\r\n this.setSelection(newShape);\r\n }\r\n }\r\n );\r\n }\r\n\r\n clearSelection() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setEditable(false);\r\n this.selectedShape = null;\r\n }\r\n }\r\n\r\n setSelection(shape) {\r\n this.clearSelection();\r\n this.selectedShape = shape;\r\n shape.setEditable(true);\r\n }\r\n\r\n deleteSelectedShape() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setMap(null);\r\n // To show:\r\n this.drawingManager.setOptions({\r\n drawingControl: true,\r\n });\r\n\r\n this.clearSelection();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n Drone routes\r\n \r\n \r\n {{ droneRoutes?.length }} routes filtered\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 {{ route.tailNumber }}\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { DroneRoute } from \"src/app/core/models/drone-route-model\";\r\n\r\n@Component({\r\n selector: \"kt-route-list\",\r\n templateUrl: \"./route-list.component.html\",\r\n styleUrls: [\"./route-list.component.scss\"],\r\n})\r\nexport class RouteListComponent implements OnInit {\r\n @Input() droneRoutes: DroneRoute[];\r\n @Output() routeSelected = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n"," 0; else hint\"\r\n [data]=\"mapTasks\"\r\n (loadData)=\"loadData.emit($event)\"\r\n [columns]=\"columns\"\r\n showSelect=\"true\"\r\n [showFilter]=\"false\"\r\n [selectAllByDefault]=\"true\"\r\n [hover]=\"true\"\r\n [hasMasterToggle]=\"false\"\r\n [selectActionsTemplate]=\"selectActionsTemplate\"\r\n (selectionChanged)=\"mapTaskSelected($event)\"\r\n (rowClicked)=\"mapTaskClicked($event)\"\r\n>\r\n\r\n\r\n \r\n clear_all\r\n Assign tasks staus\r\n \r\n\r\n\r\n\r\n
\r\n

Select fields on the map to see them here

\r\n
Use the rectangle tool to select multiple fields
\r\n
\r\n
\r\n\r\n\r\n {{ row.task.status.name }}\r\n\r\n\r\n\r\n {{ row.task.field.cropName }}\r\n\r\n\r\n\r\n {{ row.task.protocol.dunamVolume }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n","import { ControllerAssignSelectedComponent } from \"./../controller-assign-selected/controller-assign-selected.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport {\r\n mapTaskSelected,\r\n mapTaskTableClick,\r\n controllerMapTaskSelected,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { AssignSelectedFormComponent } from \"../../assign-tasks/assign-selected-form/assign-selected-form.component\";\r\n\r\n@Component({\r\n selector: \"kt-controller-table\",\r\n templateUrl: \"./controller-table.component.html\",\r\n styleUrls: [\"./controller-table.component.scss\"],\r\n})\r\nexport class ControllerTableComponent implements OnInit, AfterViewInit {\r\n @Input() mapTasks: MapTask[];\r\n @Output() loadData = new EventEmitter();\r\n\r\n @ViewChild(\"cropNameTemplate\") cropNameTemplate: TemplateRef;\r\n @ViewChild(\"dunamTemplate\") dunamTemplate: TemplateRef;\r\n\r\n @ViewChild(\"statusTemplate\") statusTemplate: TemplateRef;\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(\r\n private store: Store,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"cropName\",\r\n clientFieldName: \"cropName\",\r\n displayNameKey: \"Crop Name\",\r\n sortable: true,\r\n template: this.cropNameTemplate,\r\n },\r\n {\r\n serverFieldName: \"dunamVolume\",\r\n clientFieldName: \"dunamVolume\",\r\n displayNameKey: \"Dunam Volume\",\r\n sortable: true,\r\n template: this.dunamTemplate,\r\n },\r\n\r\n {\r\n serverFieldName: \"status\",\r\n clientFieldName: \"status\",\r\n displayNameKey: \"Status\",\r\n sortable: true,\r\n template: this.statusTemplate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n mapTaskSelected($event) {\r\n this.store.dispatch(\r\n controllerMapTaskSelected({\r\n mapTask: $event.row,\r\n selected: !$event.row.isSelected,\r\n })\r\n );\r\n }\r\n\r\n mapTaskClicked(mapTask: MapTask) {\r\n this.store.dispatch(mapTaskTableClick({ data: mapTask }));\r\n }\r\n\r\n assignTaskStatus() {\r\n let dialogRef = this.dialog.open(ControllerAssignSelectedComponent, {\r\n data: this.mapTasks,\r\n width: \"350px\",\r\n });\r\n }\r\n\r\n editTaskClick(mapTask: MapTask) {\r\n this.router.navigate([\"edit/\" + mapTask.task.taskId], {\r\n relativeTo: this.route,\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
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import {\r\n selectDroneRoutes,\r\n selectControllerMapTasks,\r\n selectSelectedControllerMapTasks,\r\n} from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectTasksLoading,\r\n selectMapTasks,\r\n selectSelectedMapTasks,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { DroneRoute } from \"src/app/core/models/drone-route-model\";\r\n\r\n@Component({\r\n selector: \"kt-task-controller\",\r\n templateUrl: \"./task-controller.component.html\",\r\n styleUrls: [\"./task-controller.component.scss\"],\r\n})\r\nexport class TaskControllerComponent implements OnInit, OnDestroy {\r\n loading$;\r\n mapTasks: MapTask[];\r\n selectedMapTasks: MapTask[];\r\n droneRoutes: DroneRoute[];\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectControllerMapTasks), untilDestroyed(this))\r\n .subscribe((mapTasks) => {\r\n this.mapTasks = cloneDeep(mapTasks);\r\n });\r\n\r\n this.store\r\n .pipe(select(selectSelectedControllerMapTasks), untilDestroyed(this))\r\n .subscribe((selectedMapTasks) => {\r\n this.selectedMapTasks = cloneDeep(selectedMapTasks);\r\n });\r\n\r\n this.store\r\n .pipe(select(selectDroneRoutes), untilDestroyed(this))\r\n .subscribe((droneRoutes) => {\r\n if (droneRoutes) {\r\n this.droneRoutes = droneRoutes;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\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 \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 \r\n \r\n {{ status.name }}\r\n \r\n\r\n Please select a\r\n status\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n scheduled date is\r\n required\r\n \r\n Please enter\r\n scheduled date\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 {{ status.name }}\r\n \r\n\r\n Please select an\r\n approved status\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n approved date is\r\n required\r\n \r\n Please enter\r\n approved date\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 \r\n {{ status.name }}\r\n \r\n\r\n Please select an\r\n execution status\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n execution date is\r\n required\r\n \r\n Please enter\r\n execution date\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\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n","import { cloneDeep } from \"lodash\";\r\nimport { selectCurrentTask } from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport {\r\n FormControl,\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectTasksLoading,\r\n selectStatuses,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { selectMaterialsSelector } from \"src/app/core/store/selectors/material.selectors\";\r\nimport { selectProtocolsSelector } from \"src/app/core/store/selectors/protocol.selectors\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { loadTask, updateTask } from \"src/app/core/store/actions/task.actions\";\r\n\r\n@Component({\r\n selector: \"kt-task-edit\",\r\n templateUrl: \"./task-edit.component.html\",\r\n styleUrls: [\"./task-edit.component.scss\"],\r\n})\r\nexport class TaskEditComponent implements OnInit, OnDestroy {\r\n loading$;\r\n task: Task;\r\n taskForm: FormGroup;\r\n hasFormErrors = false;\r\n\r\n statuses: Status[];\r\n customers: Customer[];\r\n pilots: DronePilot[];\r\n materials: Material[];\r\n protocols: Protocol[];\r\n\r\n constructor(\r\n private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private taskFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((m) => {\r\n this.materials = m;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.protocols = p;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n\r\n let taskId = this.route.snapshot.params[\"id\"];\r\n\r\n if (taskId) {\r\n this.store.dispatch(loadTask({ data: taskId }));\r\n }\r\n\r\n this.store\r\n .pipe(select(selectCurrentTask), untilDestroyed(this))\r\n .subscribe((task) => {\r\n if (task) {\r\n this.store\r\n .pipe(select(selectCurrentTask), untilDestroyed(this))\r\n .subscribe((task) => {\r\n this.task = cloneDeep(task);\r\n this.createForm();\r\n });\r\n }\r\n });\r\n }\r\n\r\n createForm() {\r\n this.taskForm = this.taskFB.group({\r\n status: [this.task.status.statusId, Validators.required],\r\n executionDate: [this.task.executionDate],\r\n scheduledDate: [this.task.scheduledDate, Validators.required],\r\n executionStatus: [this.task.executionStatus?.statusId],\r\n approvedDate: [this.task.approvedExecutionDate],\r\n approvedStatus: [this.task.approvedStatus?.statusId],\r\n materialsSelectFormControl: [this.task.material?.materialId, Validators.required],\r\n pilotsSelectFormControl: [this.task.pilot?.pilotId, Validators.required],\r\n customersSelectFormControl: [this.task.customer?.customerId, Validators.required],\r\n protocolsSelectFormControl: [this.task.protocol?.protocolId, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.taskForm.controls;\r\n\r\n if (this.taskForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareTask();\r\n\r\n this.store.dispatch(updateTask({ task: this.task }));\r\n }\r\n\r\n prepareTask() {\r\n this.task.protocol = this.protocols.find(\r\n (p) => p.protocolId == this.taskForm.controls.protocolsSelectFormControl.value\r\n );\r\n this.task.material = this.materials.find(\r\n (m) => m.materialId == this.taskForm.controls.materialsSelectFormControl.value\r\n );\r\n this.task.customer = this.customers.find(\r\n (c) => c.customerId == this.taskForm.controls.customersSelectFormControl.value\r\n );\r\n this.task.status = this.statuses.find(\r\n (s) => s.statusId == this.taskForm.controls.status.value\r\n );\r\n this.task.executionStatus = this.statuses.find(\r\n (s) => s.statusId == this.taskForm.controls.executionStatus.value\r\n );\r\n this.task.approvedStatus = this.statuses.find(\r\n (s) => s.statusId == this.taskForm.controls.approvedStatus.value\r\n );\r\n this.task.pilot = this.pilots.find(\r\n (p) => p.pilotId == this.taskForm.controls.pilotsSelectFormControl.value\r\n );\r\n this.task.executionDate = this.taskForm.controls.executionDate.value;\r\n this.task.scheduledDate = this.taskForm.controls.scheduledDate.value;\r\n this.task.approvedExecutionDate = this.taskForm.controls.approvedDate.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n Import tasks\r\n \r\n\r\n","import { switchMap, mergeMap } from \"rxjs/operators\";\r\nimport {\r\n selectTasksSelector,\r\n selectTasksByFieldId,\r\n} from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { constructor, cloneDeep } from \"lodash\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport { selectTasksLoading } from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { loadTasks, deleteTask } from \"src/app/core/store/actions/task.actions\";\r\nimport { TaskState } from \"src/app/core/store/reducers/task.reducer\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { selectFieldById } from \"src/app/core/store/selectors/field.selectors\";\r\nimport { from, of, combineLatest } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"kt-tasks-list\",\r\n templateUrl: \"./tasks-list.component.html\",\r\n styleUrls: [\"./tasks-list.component.scss\"],\r\n})\r\nexport class TasksListComponent implements OnInit, OnDestroy {\r\n loading;\r\n tasks: Task[];\r\n title = \"Tasks\";\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectTasksLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n let fieldId = this.route.snapshot.params[\"fieldId\"];\r\n\r\n if (fieldId) {\r\n this.title = \"Tasks\";\r\n combineLatest(\r\n this.store.pipe(select(selectFieldById(fieldId)), untilDestroyed(this)),\r\n this.store.pipe(\r\n select(selectTasksByFieldId(fieldId), untilDestroyed(this))\r\n )\r\n ).subscribe(([field, tasks]) => {\r\n this.title = \"Tasks\";\r\n\r\n if (field) {\r\n this.title = \"Plot number \" + field.plotNumber + \" tasks\";\r\n\r\n this.tasks = cloneDeep(tasks);\r\n }\r\n });\r\n } else {\r\n this.store\r\n .pipe(select(selectTasksSelector), untilDestroyed(this))\r\n .subscribe((tasks) => {\r\n this.tasks = cloneDeep(tasks);\r\n });\r\n }\r\n\r\n this.store.dispatch(loadTasks());\r\n }\r\n\r\n deleteTask(_item: Task) {\r\n const _title = \"Task Delete\";\r\n const _description = \"Are you sure to permanently delete this task?\";\r\n const _waitDesciption = \"Task is deleting...\";\r\n const _deleteMessage = `Task has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteTask({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{\r\n row.material.name\r\n }}\r\n\r\n\r\n\r\n {{\r\n row.field.plotNumber\r\n }}\r\n\r\n\r\n\r\n {{ row.status.name }}\r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n {{ row.protocol.name }}\r\n\r\n\r\n\r\n {{ row.createdAt | date: \"shortDate\" }}\r\n\r\n\r\n\r\n {{ row.pilot?.name }}\r\n\r\n\r\n\r\n {{ row.executionDate | date: \"shortDate\" }}\r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n\r\n\r\n \r\n delete\r\n \r\n \r\n create\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-tasks-table\",\r\n templateUrl: \"./tasks-table.component.html\",\r\n styleUrls: [\"./tasks-table.component.scss\"],\r\n})\r\nexport class TasksTableComponent implements OnInit, AfterViewInit {\r\n @Input() tasks: Task[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteTask = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"materialTemplate\", { static: false })\r\n materialTemplate: TemplateRef;\r\n\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"protocolTemplate\", { static: false })\r\n protocolTemplate: TemplateRef;\r\n\r\n @ViewChild(\"fieldTemplate\", { static: false })\r\n fieldTemplate: TemplateRef;\r\n\r\n @ViewChild(\"statusTemplate\", { static: false })\r\n statusTemplate: TemplateRef;\r\n\r\n @ViewChild(\"createdAtTemplate\", { static: false })\r\n createdAtTemplate: TemplateRef;\r\n\r\n @ViewChild(\"executionDate\", { static: false })\r\n executionDate: TemplateRef;\r\n\r\n @ViewChild(\"pilotTemplate\", { static: false })\r\n pilotTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortBy: \"customer.name\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n clientFieldName: \"material\",\r\n displayNameKey: \"Material\",\r\n sortBy: \"material.name\",\r\n sortable: true,\r\n template: this.materialTemplate,\r\n },\r\n {\r\n clientFieldName: \"protocol\",\r\n displayNameKey: \"Protocol\",\r\n sortBy: \"protocol.name\",\r\n sortable: true,\r\n template: this.protocolTemplate,\r\n },\r\n {\r\n clientFieldName: \"field\",\r\n displayNameKey: \"Field (Plot number)\",\r\n sortable: true,\r\n sortBy: \"field.plotNumber\",\r\n template: this.fieldTemplate,\r\n },\r\n {\r\n clientFieldName: \"pilot\",\r\n displayNameKey: \"Pilot\",\r\n sortable: true,\r\n sortBy: \"pilot.name\",\r\n template: this.pilotTemplate,\r\n },\r\n {\r\n clientFieldName: \"status\",\r\n displayNameKey: \"Scheduled Status\",\r\n sortable: true,\r\n sortBy: \"status.name\",\r\n template: this.statusTemplate,\r\n },\r\n {\r\n clientFieldName: \"createdAt\",\r\n displayNameKey: \"Created\",\r\n sortable: true,\r\n template: this.createdAtTemplate,\r\n },\r\n {\r\n clientFieldName: \"executionDate\",\r\n displayNameKey: \"Scheduled Date\",\r\n sortable: true,\r\n template: this.executionDate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editTaskClick(task: Task) {\r\n this.router.navigate([\"edit\", task.taskId], { relativeTo: this.route });\r\n }\r\n}\r\n","import { ModuleGuard } from \"./../../../core/auth/_guards/module.guard\";\r\n//import { PilotTasksComponent } from \"./pilot-tasks/pilot-tasks.component\";\r\nimport { CompletedTasksComponent } from \"./completed-tasks/completed-tasks.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { TasksComponent } from \"./tasks.component\";\r\nimport { TasksListComponent } from \"./tasks-list/tasks-list.component\";\r\nimport { AssignTasksComponent } from \"./assign-tasks/assign-tasks.component\";\r\nimport { TaskControllerComponent } from \"./task-controller/task-controller.component\";\r\nimport { TaskEditComponent } from \"./task-edit/task-edit.component\";\r\nimport { ImportTaskComponent } from \"./import-task/import-task.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: TasksComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n pathMatch: \"full\",\r\n component: TasksListComponent,\r\n },\r\n {\r\n path: \"completed\",\r\n pathMatch: \"full\",\r\n component: CompletedTasksComponent,\r\n },\r\n {\r\n path: \"map\",\r\n component: AssignTasksComponent,\r\n },\r\n {\r\n path: \"controller\",\r\n component: TaskControllerComponent,\r\n },\r\n {\r\n path: \":fieldId\",\r\n pathMatch: \"full\",\r\n component: TasksListComponent,\r\n },\r\n {\r\n path: \":fieldId/import\",\r\n component: ImportTaskComponent,\r\n },\r\n {\r\n path: \"controller/edit/:id\",\r\n component: TaskEditComponent,\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"map/edit/:id\",\r\n component: TaskEditComponent,\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"list/edit/:id\",\r\n component: TaskEditComponent,\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"list/import\",\r\n component: ImportTaskComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule, RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class TasksRoutingModule {}\r\n","\r\n
\r\n \r\n
\r\n","import { loadDronePilots } from \"./../../../core/store/actions/drone-pilots.actions\";\r\nimport { loadMaterials } from \"./../../../core/store/actions/material.actions\";\r\nimport { loadProtocols } from \"./../../../core/store/actions/protocol.actions\";\r\nimport { loadStatuses } from \"./../../../core/store/actions/task.actions\";\r\nimport { loadFields } from \"./../../../core/store/actions/field.actions\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { loadCustomers } from \"src/app/core/store/actions/customer.actions\";\r\nimport { loadDrones } from \"src/app/core/store/actions/drones.actions\";\r\n\r\n@Component({\r\n selector: \"kt-tasks\",\r\n templateUrl: \"./tasks.component.html\",\r\n styleUrls: [\"./tasks.component.scss\"],\r\n})\r\nexport class TasksComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadCustomers());\r\n //this.store.dispatch(loadDrones());\r\n this.store.dispatch(loadStatuses());\r\n this.store.dispatch(loadProtocols());\r\n this.store.dispatch(loadMaterials());\r\n this.store.dispatch(loadDronePilots());\r\n }\r\n}\r\n","import { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TasksComponent } from \"./tasks.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromTask from \"../../../core/store/reducers/task.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { TaskEffects } from \"../../../core/store/effects/task.effects\";\r\n\r\nimport { TasksListComponent } from \"./tasks-list/tasks-list.component\";\r\nimport { ImportTaskComponent } from \"./import-task/import-task.component\";\r\nimport { TasksTableComponent } from \"./tasks-list/tasks-table/tasks-table.component\";\r\nimport { FileUploadModule } from \"@iplab/ngx-file-upload\";\r\n\r\nimport { AssignTasksComponent } from \"./assign-tasks/assign-tasks.component\";\r\nimport { TasksFilterComponent } from \"./assign-tasks/tasks-filter/tasks-filter.component\";\r\nimport { TaskFieldsTableComponent } from \"./assign-tasks/task-fields-table/task-fields-table.component\";\r\nimport { AgmCoreModule, GoogleMapsAPIWrapper } from \"@agm/core\";\r\nimport { AssignSelectedFormComponent } from \"./assign-tasks/assign-selected-form/assign-selected-form.component\";\r\nimport { TaskEditComponent } from \"./task-edit/task-edit.component\";\r\nimport { TaskControllerComponent } from \"./task-controller/task-controller.component\";\r\nimport { ControllerMapComponent } from \"./task-controller/controller-map/controller-map.component\";\r\nimport { ControllerTableComponent } from \"./task-controller/controller-table/controller-table.component\";\r\nimport { ControllerFilterComponent } from \"./task-controller/controller-filter/controller-filter.component\";\r\nimport { RouteListComponent } from \"./task-controller/controller-map/route-list/route-list.component\";\r\nimport { TaskFieldsMapComponent } from \"./assign-tasks/task-fields-map/task-fields-map.component\";\r\nimport { ControllerAssignSelectedComponent } from \"./task-controller/controller-assign-selected/controller-assign-selected.component\";\r\nimport { TasksRoutingModule } from \"./tasks-routing.module\";\r\nimport { CompletedTasksComponent } from \"./completed-tasks/completed-tasks.component\";\r\nimport { CompletedTasksFilterComponent } from \"./completed-tasks/completed-tasks-filter/completed-tasks-filter.component\";\r\nimport { CompletedTasksTableComponent } from \"./completed-tasks/completed-tasks-table/completed-tasks-table.component\";\r\n//import { PilotTasksComponent } from './pilot-tasks/pilot-tasks.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TasksComponent,\r\n AssignTasksComponent,\r\n TasksListComponent,\r\n ImportTaskComponent,\r\n TasksTableComponent,\r\n TasksFilterComponent,\r\n TaskFieldsTableComponent,\r\n TaskFieldsMapComponent,\r\n AssignSelectedFormComponent,\r\n TaskEditComponent,\r\n TaskControllerComponent,\r\n ControllerMapComponent,\r\n ControllerTableComponent,\r\n ControllerFilterComponent,\r\n RouteListComponent,\r\n ControllerAssignSelectedComponent,\r\n CompletedTasksComponent,\r\n CompletedTasksFilterComponent,\r\n CompletedTasksTableComponent,\r\n // PilotTasksComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n MatCoreModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TasksRoutingModule,\r\n StoreModule.forFeature(fromTask.taskFeatureKey, fromTask.reducer),\r\n EffectsModule.forFeature([TaskEffects]),\r\n FileUploadModule,\r\n PerfectScrollbarModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n libraries: [\"places\", \"drawing\", \"geometry\"],\r\n }),\r\n ],\r\n})\r\nexport class TasksModule {}\r\n","
\r\n\r\n
\r\n
\r\n

{{getTitle()}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n\r\n
\r\n \r\n \r\n Title is\r\n required\r\n \r\n Please enter\r\n Title\r\n \r\n \r\n
\r\n
\r\n
\r\n Permissions:\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n {{ _rootRole.title }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{ _childRole.title }}\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
\r\n
\r\n
\r\n
","// Angular\r\nimport { Component, OnInit, Inject, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n// RxJS\r\nimport { Observable, of, Subscription } from 'rxjs';\r\n// Lodash\r\nimport { each, find, some } from 'lodash';\r\n// NGRX\r\nimport { Update } from '@ngrx/entity';\r\nimport { Store, select } from '@ngrx/store';\r\n// State\r\nimport { AppState } from '../../../../../core/reducers';\r\n// Services and Models\r\nimport {\r\n\tRole,\r\n\tPermission,\r\n\tselectRoleById,\r\n\tRoleUpdated,\r\n\tselectAllPermissions,\r\n\tselectLastCreatedRoleId,\r\n\tRoleOnServerCreated\r\n} from '../../../../../core/auth';\r\nimport { delay } from 'rxjs/operators';\r\n\r\n@Component({\r\n\tselector: 'kt-role-edit-dialog',\r\n\ttemplateUrl: './role-edit.dialog.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class RoleEditDialogComponent implements OnInit, OnDestroy {\r\n\t// Public properties\r\n\trole: Role;\r\n\trole$: Observable;\r\n\thasFormErrors = false;\r\n\tviewLoading = false;\r\n\tloadingAfterSubmit = false;\r\n\tallPermissions$: Observable;\r\n\trolePermissions: Permission[] = [];\r\n\t// Private properties\r\n\tprivate componentSubscriptions: Subscription;\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param dialogRef: MatDialogRef\r\n\t * @param data: any\r\n\t * @param store: Store\r\n\t */\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate store: Store) { }\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (this.data.roleId) {\r\n\t\t\tthis.role$ = this.store.pipe(select(selectRoleById(this.data.roleId)));\r\n\t\t} else {\r\n\t\t\tconst newRole = new Role();\r\n\t\t\tnewRole.clear();\r\n\t\t\tthis.role$ = of(newRole);\r\n\t\t}\r\n\r\n\t\tthis.role$.subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.role = new Role();\r\n\t\t\tthis.role.id = res.id;\r\n\t\t\tthis.role.title = res.title;\r\n\t\t\tthis.role.permissions = res.permissions;\r\n\t\t\tthis.role.isCoreRole = res.isCoreRole;\r\n\r\n\t\t\tthis.allPermissions$ = this.store.pipe(select(selectAllPermissions));\r\n\t\t\tthis.loadPermissions();\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * On destroy\r\n\t */\r\n\tngOnDestroy() {\r\n\t\tif (this.componentSubscriptions) {\r\n\t\t\tthis.componentSubscriptions.unsubscribe();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Load permissions\r\n\t */\r\n\tloadPermissions() {\r\n\t\tthis.allPermissions$.subscribe(_allPermissions => {\r\n\t\t\tif (!_allPermissions) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst mainPermissions = _allPermissions.filter(el => !el.parentId);\r\n\t\t\tmainPermissions.forEach((element: Permission) => {\r\n\t\t\t\tconst hasUserPermission = this.role.permissions.some(t => t === element.id);\r\n\t\t\t\tconst rootPermission = new Permission();\r\n\t\t\t\trootPermission.clear();\r\n\t\t\t\trootPermission.isSelected = hasUserPermission;\r\n\t\t\t\trootPermission._children = [];\r\n\t\t\t\trootPermission.id = element.id;\r\n\t\t\t\trootPermission.level = element.level;\r\n\t\t\t\trootPermission.parentId = element.parentId;\r\n\t\t\t\trootPermission.title = element.title;\r\n\t\t\t\tconst children = _allPermissions.filter(el => el.parentId && el.parentId === element.id);\r\n\t\t\t\tchildren.forEach(child => {\r\n\t\t\t\t\tconst hasUserChildPermission = this.role.permissions.some(t => t === child.id);\r\n\t\t\t\t\tconst childPermission = new Permission();\r\n\t\t\t\t\tchildPermission.clear();\r\n\t\t\t\t\tchildPermission.isSelected = hasUserChildPermission;\r\n\t\t\t\t\tchildPermission._children = [];\r\n\t\t\t\t\tchildPermission.id = child.id;\r\n\t\t\t\t\tchildPermission.level = child.level;\r\n\t\t\t\t\tchildPermission.parentId = child.parentId;\r\n\t\t\t\t\tchildPermission.title = child.title;\r\n\t\t\t\t\trootPermission._children.push(childPermission);\r\n\t\t\t\t});\r\n\t\t\t\tthis.rolePermissions.push(rootPermission);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/** ACTIONS */\r\n\t/**\r\n\t * Returns permissions ids\r\n\t */\r\n\tpreparePermissionIds(): number[] {\r\n\t\tconst result = [];\r\n\t\teach(this.rolePermissions, (_root: Permission) => {\r\n\t\t\tif (_root.isSelected) {\r\n\t\t\t\tresult.push(_root.id);\r\n\t\t\t\teach(_root._children, (_child: Permission) => {\r\n\t\t\t\t\tif (_child.isSelected) {\r\n\t\t\t\t\t\tresult.push(_child.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns role for save\r\n\t */\r\n\tprepareRole(): Role {\r\n\t\tconst _role = new Role();\r\n\t\t_role.id = this.role.id;\r\n\t\t_role.permissions = this.preparePermissionIds();\r\n\t\t// each(this.assignedRoles, (_role: Role) => _user.roles.push(_role.id));\r\n\t\t_role.title = this.role.title;\r\n\t\t_role.isCoreRole = this.role.isCoreRole;\r\n\t\treturn _role;\r\n\t}\r\n\r\n\t/**\r\n\t * Save data\r\n\t */\r\n\tonSubmit() {\r\n\t\tthis.hasFormErrors = false;\r\n\t\tthis.loadingAfterSubmit = false;\r\n\t\t/** check form */\r\n\t\tif (!this.isTitleValid()) {\r\n\t\t\tthis.hasFormErrors = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst editedRole = this.prepareRole();\r\n\t\tif (editedRole.id > 0) {\r\n\t\t\tthis.updateRole(editedRole);\r\n\t\t} else {\r\n\t\t\tthis.createRole(editedRole);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Update role\r\n\t *\r\n\t * @param _role: Role\r\n\t */\r\n\tupdateRole(_role: Role) {\r\n\t\tthis.loadingAfterSubmit = true;\r\n\t\tthis.viewLoading = true;\r\n\t\t/* Server loading imitation. Remove this on real code */\r\n\t\tconst updateRole: Update = {\r\n\t\t\tid: this.role.id,\r\n\t\t\tchanges: _role\r\n\t\t};\r\n\t\tthis.store.dispatch(new RoleUpdated({\r\n\t\t\tpartialrole: updateRole,\r\n\t\t\trole: _role\r\n\t\t}));\r\n\t\tof(undefined).subscribe(() => { // Remove this line\r\n\t\t\tthis.viewLoading = false;\r\n\t\t\tthis.dialogRef.close({\r\n\t\t\t\t_role,\r\n\t\t\t\tisEdit: true\r\n\t\t\t});\r\n\t\t}); // Remove this line\r\n\t}\r\n\r\n\t/**\r\n\t * Create role\r\n\t *\r\n\t * @param _role: Role\r\n\t */\r\n\tcreateRole(_role: Role) {\r\n\t\tthis.loadingAfterSubmit = true;\r\n\t\tthis.viewLoading = true;\r\n\t\tthis.store.dispatch(new RoleOnServerCreated({ role: _role }));\r\n\t\tthis.componentSubscriptions = this.store.pipe(\r\n\t\t\tdelay(1000), // Remove this line\r\n\t\t\tselect(selectLastCreatedRoleId)\r\n\t\t).subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.viewLoading = false;\r\n\t\t\tthis.dialogRef.close({\r\n\t\t\t\t_role,\r\n\t\t\t\tisEdit: false\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Close alert\r\n\t *\r\n\t * @param $event: Event\r\n\t */\r\n\tonAlertClose($event) {\r\n\t\tthis.hasFormErrors = false;\r\n\t}\r\n\r\n\t/**\r\n\t * Check is selected changes\r\n\t *\r\n\t * @param $event: Event\r\n\t * @param permission: Permission\r\n\t */\r\n\tisSelectedChanged($event, permission: Permission) {\r\n\t\tif (permission._children.length === 0 && permission.isSelected) {\r\n\t\t\tconst _root = find(this.rolePermissions, (item: Permission) => item.id === permission.parentId);\r\n\t\t\tif (_root && !_root.isSelected) {\r\n\t\t\t\t_root.isSelected = true;\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (permission._children.length === 0 && !permission.isSelected) {\r\n\t\t\tconst _root = find(this.rolePermissions, (item: Permission) => item.id === permission.parentId);\r\n\t\t\tif (_root && _root.isSelected) {\r\n\t\t\t\tif (!some(_root._children, (item: Permission) => item.isSelected === true)) {\r\n\t\t\t\t\t_root.isSelected = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (permission._children.length > 0 && permission.isSelected) {\r\n\t\t\teach(permission._children, (item: Permission) => item.isSelected = true);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (permission._children.length > 0 && !permission.isSelected) {\r\n\t\t\teach(permission._children, (item: Permission) => {\r\n\t\t\t\titem.isSelected = false;\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\t/** UI */\r\n\t/**\r\n\t * Returns component title\r\n\t */\r\n\tgetTitle(): string {\r\n\t\tif (this.role && this.role.id) {\r\n\t\t\t// tslint:disable-next-line:no-string-throw\r\n\t\t\treturn `Edit role '${this.role.title}'`;\r\n\t\t}\r\n\r\n\t\t// tslint:disable-next-line:no-string-throw\r\n\t\treturn 'New role';\r\n\t}\r\n\r\n\t/**\r\n\t * Returns is title valid\r\n\t */\r\n\tisTitleValid(): boolean {\r\n\t\treturn (this.role && this.role.title && this.role.title.length > 0);\r\n\t}\r\n}\r\n","\r\n\t\r\n\t\r\n\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSearch in all fields\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
0}\">\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tID\r\n\t\t\t\t\t{{role.id}}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tTitle\r\n\t\t\t\t\t{{role.title}}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tActions\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
No records found
\r\n\t\t\t\r\n\t\t\t
Please wait....
\r\n\t\t
\r\n\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t
\r\n\t\r\n
","// Angular\r\nimport { Component, OnInit, ElementRef, ViewChild, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\r\n// Material\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n// RXJS\r\nimport { debounceTime, distinctUntilChanged, tap, skip, take, delay } from 'rxjs/operators';\r\nimport { fromEvent, merge, of, Subscription } from 'rxjs';\r\n// NGRX\r\nimport { Store } from '@ngrx/store';\r\n// Services\r\nimport { LayoutUtilsService, MessageType } from '../../../../../core/_base/crud';\r\n// Models\r\nimport { Role, RolesDataSource, RoleDeleted, RolesPageRequested } from '../../../../../core/auth';\r\nimport { AppState } from '../../../../../core/reducers';\r\nimport { QueryParamsModel } from '../../../../../core/_base/crud';\r\n\r\n// Components\r\nimport { RoleEditDialogComponent } from '../role-edit/role-edit.dialog.component';\r\n\r\n// Table with EDIT item in MODAL\r\n// ARTICLE for table with sort/filter/paginator\r\n// https://blog.angular-university.io/angular-material-data-table/\r\n// https://v5.material.angular.io/components/table/overview\r\n// https://v5.material.angular.io/components/sort/overview\r\n// https://v5.material.angular.io/components/table/overview#sorting\r\n// https://www.youtube.com/watch?v=NSt9CI3BXv4\r\n@Component({\r\n\tselector: 'kt-roles-list',\r\n\ttemplateUrl: './roles-list.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RolesListComponent implements OnInit, OnDestroy {\r\n\t// Table fields\r\n\tdataSource: RolesDataSource;\r\n\tdisplayedColumns = ['select', 'id', 'title', 'actions'];\r\n\t@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild('sort1', { static: true }) sort: MatSort;\r\n\t// Filter fields\r\n\t@ViewChild('searchInput', { static: true }) searchInput: ElementRef;\r\n\t// Selection\r\n\tselection = new SelectionModel(true, []);\r\n\trolesResult: Role[] = [];\r\n\r\n\t// Subscriptions\r\n\tprivate subscriptions: Subscription[] = [];\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param store: Store\r\n\t * @param dialog: MatDialog\r\n\t * @param snackBar: MatSnackBar\r\n\t * @param layoutUtilsService: LayoutUtilsService\r\n\t */\r\n\tconstructor(\r\n\t\tprivate store: Store,\r\n\t\tpublic dialog: MatDialog,\r\n\t\tpublic snackBar: MatSnackBar,\r\n\t\tprivate layoutUtilsService: LayoutUtilsService) { }\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\t// If the user changes the sort order, reset back to the first page.\r\n\t\tconst sortSubscription = this.sort.sortChange.subscribe(() => (this.paginator.pageIndex = 0));\r\n\t\tthis.subscriptions.push(sortSubscription);\r\n\r\n\t\t/* Data load will be triggered in two cases:\r\n\t\t- when a pagination event occurs => this.paginator.page\r\n\t\t- when a sort event occurs => this.sort.sortChange\r\n\t\t**/\r\n\t\tconst paginatorSubscriptions = merge(this.sort.sortChange, this.paginator.page).pipe(\r\n\t\t\ttap(() => {\r\n\t\t\t\tthis.loadRolesList();\r\n\t\t\t})\r\n\t\t)\r\n\t\t\t.subscribe();\r\n\t\tthis.subscriptions.push(paginatorSubscriptions);\r\n\r\n\t\t// Filtration, bind to searchInput\r\n\t\tconst searchSubscription = fromEvent(this.searchInput.nativeElement, 'keyup').pipe(\r\n\t\t\t// tslint:disable-next-line:max-line-length\r\n\t\t\tdebounceTime(150), // The user can type quite quickly in the input box, and that could trigger a lot of server requests. With this operator, we are limiting the amount of server requests emitted to a maximum of one every 150ms\r\n\t\t\tdistinctUntilChanged(), // This operator will eliminate duplicate values\r\n\t\t\ttap(() => {\r\n\t\t\t\tthis.paginator.pageIndex = 0;\r\n\t\t\t\tthis.loadRolesList();\r\n\t\t\t})\r\n\t\t)\r\n\t\t\t.subscribe();\r\n\t\tthis.subscriptions.push(searchSubscription);\r\n\r\n\t\t// Init DataSource\r\n\t\tthis.dataSource = new RolesDataSource(this.store);\r\n\t\tconst entitiesSubscription = this.dataSource.entitySubject.pipe(\r\n\t\t\tskip(1),\r\n\t\t\tdistinctUntilChanged()\r\n\t\t).subscribe(res => {\r\n\t\t\tthis.rolesResult = res;\r\n\t\t});\r\n\t\tthis.subscriptions.push(entitiesSubscription);\r\n\r\n\t\t// First load\r\n\t\tof(undefined).pipe(take(1), delay(1000)).subscribe(() => { // Remove this line, just loading imitation\r\n\t\t\tthis.loadRolesList();\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * On Destroy\r\n\t */\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions.forEach(el => el.unsubscribe());\r\n\t}\r\n\r\n\t/**\r\n\t * Load Roles List\r\n\t */\r\n\tloadRolesList() {\r\n\t\tthis.selection.clear();\r\n\t\tconst queryParams = new QueryParamsModel(\r\n\t\t\tthis.filterConfiguration(),\r\n\t\t\tthis.sort.direction,\r\n\t\t\tthis.sort.active,\r\n\t\t\tthis.paginator.pageIndex,\r\n\t\t\tthis.paginator.pageSize\r\n\t\t);\r\n\t\t// Call request from server\r\n\t\tthis.store.dispatch(new RolesPageRequested({ page: queryParams }));\r\n\t\tthis.selection.clear();\r\n\t}\r\n\r\n\t/**\r\n\t * Returns object for filter\r\n\t */\r\n\tfilterConfiguration(): any {\r\n\t\tconst filter: any = {};\r\n\t\tconst searchText: string = this.searchInput.nativeElement.value;\r\n\t\tfilter.title = searchText;\r\n\t\treturn filter;\r\n\t}\r\n\r\n\t/** ACTIONS */\r\n\t/**\r\n\t * Delete role\r\n\t *\r\n\t * @param _item: Role\r\n\t */\r\n\tdeleteRole(_item: Role) {\r\n\t\tconst _title = 'User Role';\r\n\t\tconst _description = 'Are you sure to permanently delete this role?';\r\n\t\tconst _waitDesciption = 'Role is deleting...';\r\n\t\tconst _deleteMessage = `Role has been deleted`;\r\n\r\n\t\tconst dialogRef = this.layoutUtilsService.deleteElement(_title, _description, _waitDesciption);\r\n\t\tdialogRef.afterClosed().subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.store.dispatch(new RoleDeleted({ id: _item.id }));\r\n\t\t\tthis.layoutUtilsService.showActionNotification(_deleteMessage, MessageType.Delete);\r\n\t\t\tthis.loadRolesList();\r\n\t\t});\r\n\t}\r\n\r\n\t/** Fetch */\r\n\t/**\r\n\t * Fetch selected rows\r\n\t */\r\n\tfetchRoles() {\r\n\t\tconst messages = [];\r\n\t\tthis.selection.selected.forEach(elem => {\r\n\t\t\tmessages.push({\r\n\t\t\t\ttext: `${elem.title}`,\r\n\t\t\t\tid: elem.id.toString(),\r\n\t\t\t\t// status: elem.username\r\n\t\t\t});\r\n\t\t});\r\n\t\tthis.layoutUtilsService.fetchElements(messages);\r\n\t}\r\n\r\n\t/**\r\n\t * Add role\r\n\t */\r\n\taddRole() {\r\n\t\tconst newRole = new Role();\r\n\t\tnewRole.clear(); // Set all defaults fields\r\n\t\tthis.editRole(newRole);\r\n\t}\r\n\r\n\t/**\r\n\t * Edit role\r\n\t *\r\n\t * @param role: Role\r\n\t */\r\n\teditRole(role: Role) {\r\n\t\tconst _saveMessage = `Role successfully has been saved.`;\r\n\t\tconst _messageType = role.id ? MessageType.Update : MessageType.Create;\r\n\t\tconst dialogRef = this.dialog.open(RoleEditDialogComponent, { data: { roleId: role.id } });\r\n\t\tdialogRef.afterClosed().subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.layoutUtilsService.showActionNotification(_saveMessage, _messageType, 10000, true, true);\r\n\t\t\tthis.loadRolesList();\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Check all rows are selected\r\n\t */\r\n\tisAllSelected(): boolean {\r\n\t\tconst numSelected = this.selection.selected.length;\r\n\t\tconst numRows = this.rolesResult.length;\r\n\t\treturn numSelected === numRows;\r\n\t}\r\n\r\n\t/**\r\n\t * Toggle selection\r\n\t */\r\n\tmasterToggle() {\r\n\t\tif (this.selection.selected.length === this.rolesResult.length) {\r\n\t\t\tthis.selection.clear();\r\n\t\t} else {\r\n\t\t\tthis.rolesResult.forEach(row => this.selection.select(row));\r\n\t\t}\r\n\t}\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { loadDronePilots } from \"./../../../core/store/actions/drone-pilots.actions\";\r\nimport { loadCustomers } from \"./../../../core/store/actions/customer.actions\";\r\n// Angular\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n// RxJS\r\nimport { Observable } from \"rxjs\";\r\n// NGRX\r\nimport { Store, select } from \"@ngrx/store\";\r\n// AppState\r\nimport { AppState } from \"../../../core/reducers\";\r\n// Auth\r\nimport { Permission } from \"../../../core/auth\";\r\nimport { loadRoleTypes } from \"src/app/core/store/actions/user.actions\";\r\n\r\nconst userManagementPermissionId = 2;\r\n@Component({\r\n selector: \"kt-user-management\",\r\n templateUrl: \"./user-management.component.html\",\r\n})\r\nexport class UserManagementComponent implements OnInit {\r\n // Public properties\r\n // hasUserAccess$: Observable;\r\n currentUserPermission$: Observable;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param store: Store\r\n * @param router: Router\r\n */\r\n constructor(private store: Store, private router: Router) {}\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.store.dispatch(loadRoleTypes());\r\n // this.store.dispatch(loadCustomers());\r\n // this.store.dispatch(loadDronePilots());\r\n }\r\n}\r\n","import { EntitySelectModule } from \"./../../modules/entity-select/entity-select.module\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\n// NGRX\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\n// Translate\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\n// Services\r\nimport {\r\n HttpUtilsService,\r\n TypesUtilsService,\r\n InterceptService,\r\n LayoutUtilsService,\r\n} from \"../../../core/_base/crud\";\r\n// Shared\r\nimport {\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n} from \"../../partials/content/crud\";\r\n// Components\r\nimport { UserManagementComponent } from \"./user-management.component\";\r\nimport { UsersListComponent } from \"./users/users-list/users-list.component\";\r\nimport { UserEditComponent } from \"./users/user-edit/user-edit.component\";\r\nimport { RolesListComponent } from \"./roles/roles-list/roles-list.component\";\r\nimport { RoleEditDialogComponent } from \"./roles/role-edit/role-edit.dialog.component\";\r\nimport { UserRolesListComponent } from \"./users/_subs/user-roles/user-roles-list.component\";\r\nimport { ChangePasswordComponent } from \"./users/_subs/change-password/change-password.component\";\r\nimport { AddressComponent } from \"./users/_subs/address/address.component\";\r\nimport { SocialNetworksComponent } from \"./users/_subs/social-networks/social-networks.component\";\r\n\r\n// Material\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\r\nimport { MatSortModule } from \"@angular/material/sort\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport {\r\n MatDialogModule,\r\n MAT_DIALOG_DEFAULT_OPTIONS,\r\n} from \"@angular/material/dialog\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { UserEffects } from \"src/app/core/store/effects/user.effects\";\r\nimport * as fromUser from \"../../../core/store/reducers/user.reducer\";\r\nimport { UsersTableComponent } from \"./users/users-list/users-table/users-table.component\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\nimport { UserProfileComponent } from \"./user-profile/user-profile.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: UserManagementComponent,\r\n\r\n children: [\r\n {\r\n path: \"\",\r\n redirectTo: \"users\",\r\n pathMatch: \"full\",\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"user-profile\",\r\n component: UserProfileComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Everyone\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"roles\",\r\n component: RolesListComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"users\",\r\n component: UsersListComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"users/:id\",\r\n component: UserEditComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"users/add\",\r\n component: UserEditComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromUser.userFeatureKey, fromUser.reducer),\r\n EffectsModule.forFeature([UserEffects]),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule.forChild(),\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatTableModule,\r\n MatAutocompleteModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatDatepickerModule,\r\n MatCardModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatSnackBarModule,\r\n MatExpansionModule,\r\n MatTabsModule,\r\n MatTooltipModule,\r\n MatDialogModule,\r\n\r\n EntitySelectModule,\r\n ],\r\n providers: [\r\n InterceptService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: InterceptService,\r\n multi: true,\r\n },\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n panelClass: \"kt-mat-dialog-container__wrapper\",\r\n height: \"auto\",\r\n width: \"900px\",\r\n },\r\n },\r\n HttpUtilsService,\r\n TypesUtilsService,\r\n LayoutUtilsService,\r\n ],\r\n entryComponents: [\r\n ActionNotificationComponent,\r\n RoleEditDialogComponent,\r\n DeleteEntityDialogComponent,\r\n ],\r\n declarations: [\r\n UserManagementComponent,\r\n UsersListComponent,\r\n UserEditComponent,\r\n RolesListComponent,\r\n RoleEditDialogComponent,\r\n UserRolesListComponent,\r\n ChangePasswordComponent,\r\n AddressComponent,\r\n SocialNetworksComponent,\r\n UsersTableComponent,\r\n UserProfileComponent,\r\n ],\r\n})\r\nexport class UserManagementModule {}\r\n","\r\n","import { Store } from \"@ngrx/store\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { currentUser } from \"src/app/core/store/selectors/auth.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-user-profile\",\r\n templateUrl: \"./user-profile.component.html\",\r\n styleUrls: [\"./user-profile.component.scss\"],\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n userId;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.select(currentUser).subscribe((user) => {\r\n if (user) {\r\n this.userId = user.userId;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Username is\r\n required\r\n \r\n Please enter\r\n username\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n phone is\r\n required\r\n \r\n Please enter a valid\r\n phone\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Email is\r\n required\r\n \r\n Please enter a valid\r\n email\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ type.name }}\r\n \r\n Role is\r\n required\r\n \r\n Please select a\r\n role type\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 \r\n \r\n Password is\r\n required\r\n \r\n Please enter\r\n password\r\n \r\n \r\n
\r\n
\r\n View tasks from any date (Pilots)\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { selectCustomersSelector } from \"./../../../../../core/store/selectors/customer.selectors\";\r\nimport { RoleType } from \"./../../../../../core/auth/_models/role-type.model\";\r\n// Angular\r\nimport { Component, OnInit, OnDestroy, Input } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\n// RxJS\r\nimport {\r\n BehaviorSubject,\r\n Observable,\r\n of,\r\n Subscription,\r\n combineLatest,\r\n ReplaySubject,\r\n} from \"rxjs\";\r\n// NGRX\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { Update } from \"@ngrx/entity\";\r\nimport { AppState } from \"../../../../../core/reducers\";\r\n// Layout\r\nimport {\r\n SubheaderService,\r\n LayoutConfigService,\r\n} from \"../../../../../core/_base/layout\";\r\nimport {\r\n LayoutUtilsService,\r\n MessageType,\r\n} from \"../../../../../core/_base/crud\";\r\n// Services and Models\r\nimport {\r\n User,\r\n UserUpdated,\r\n Address,\r\n SocialNetworks,\r\n selectHasUsersInStore,\r\n selectUserById,\r\n UserOnServerCreated,\r\n selectLastCreatedUserId,\r\n selectUsersActionLoading,\r\n} from \"../../../../../core/auth\";\r\nimport { UserState } from \"src/app/core/store/reducers/user.reducer\";\r\nimport {\r\n selectUsersLoading,\r\n selectCurrentUser,\r\n selectRoleTypes,\r\n} from \"src/app/core/store/selectors/user.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport {\r\n loadUser,\r\n updateUser,\r\n addUser,\r\n} from \"src/app/core/store/actions/user.actions\";\r\nimport { loadMaterials } from \"src/app/core/store/actions/material.actions\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-user-edit\",\r\n templateUrl: \"./user-edit.component.html\",\r\n})\r\nexport class UserEditComponent implements OnInit, OnDestroy {\r\n @Input() title = \"Add User\";\r\n isEdit = false;\r\n user: User;\r\n userForm: FormGroup;\r\n hasFormErrors = false;\r\n roleTypes: RoleType[];\r\n // customers: Customer[];\r\n // pilots: DronePilot[];\r\n loading$: Observable;\r\n\r\n @Input() userId;\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private userFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectUsersLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.user = User.createEmpty();\r\n this.createForm();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectRoleTypes), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentUser), untilDestroyed(this))\r\n ).subscribe(([roleTypes, currentUser]) => {\r\n this.roleTypes = roleTypes;\r\n\r\n if (currentUser && (this.isEdit || this.userId)) {\r\n this.user = cloneDeep(currentUser);\r\n this.createForm();\r\n }\r\n });\r\n\r\n let userId = this.route.snapshot.params[\"id\"];\r\n\r\n if (userId && userId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit User\";\r\n\r\n this.store.dispatch(loadUser({ data: userId }));\r\n }\r\n\r\n if (this.userId) {\r\n this.title = \"Edit My Profile\";\r\n this.store.dispatch(loadUser({ data: this.userId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.userFB.group({\r\n username: [this.user.username, Validators.required],\r\n phone: [\r\n this.user.phone,\r\n [Validators.required, Validators.pattern(new RegExp(RegEx.phone))],\r\n ],\r\n email: [this.user.email, [Validators.email, Validators.required]],\r\n roleType: [this.user.roleType?.roleTypeId, Validators.required],\r\n password: [this.user.password, Validators.required],\r\n viewFromAnyDate: [this.user.viewFromAnyDate],\r\n });\r\n\r\n this.userForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n\r\n if (this.user.customer) {\r\n this.customersSelectFormControl.setValue(this.user.customer?.customerId);\r\n }\r\n\r\n this.userForm.addControl(\r\n \"pilotsSelectFormControl\",\r\n this.pilotsSelectFormControl\r\n );\r\n\r\n if (this.user.pilot) {\r\n this.pilotsSelectFormControl.setValue(this.user.pilot?.pilotId);\r\n }\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.userForm.controls;\r\n /** check form */\r\n if (this.userForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareUser();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateUser({ data: this.user }));\r\n } else {\r\n this.store.dispatch(addUser({ data: this.user }));\r\n }\r\n }\r\n\r\n prepareUser() {\r\n this.user.username = this.userForm.controls.username.value;\r\n this.user.roleType = this.roleTypes.find(\r\n (r) => r.roleTypeId == this.userForm.controls.roleType.value\r\n );\r\n this.user.email = this.userForm.controls.email.value;\r\n this.user.phone = this.userForm.controls.phone.value;\r\n this.user.password = this.userForm.controls.password.value;\r\n this.user.customer.customerId = this.customersSelectFormControl.value;\r\n this.user.pilot.pilotId = this.pilotsSelectFormControl.value;\r\n this.user.viewFromAnyDate = this.userForm.controls.viewFromAnyDate.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New User\r\n \r\n\r\n","// Angular\r\nimport {\r\n Component,\r\n OnInit,\r\n ElementRef,\r\n ViewChild,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n} from \"@angular/core\";\r\n\r\nimport { Store, select } from \"@ngrx/store\";\r\n\r\n// Services\r\nimport {\r\n LayoutUtilsService,\r\n MessageType,\r\n QueryParamsModel,\r\n} from \"../../../../../core/_base/crud\";\r\n// Models\r\nimport { User } from \"../../../../../core/auth\";\r\n\r\nimport { UserState } from \"src/app/core/store/reducers/user.reducer\";\r\nimport {\r\n selectUsersLoading,\r\n selectUsers,\r\n} from \"src/app/core/store/selectors/user.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { loadUsers, deleteUser } from \"src/app/core/store/actions/user.actions\";\r\n\r\n@Component({\r\n selector: \"kt-users-list\",\r\n templateUrl: \"./users-list.component.html\",\r\n})\r\nexport class UsersListComponent implements OnInit, OnDestroy {\r\n loading;\r\n users: User[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectUsersLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store.pipe(selectUsers, untilDestroyed(this)).subscribe((users) => {\r\n this.users = users;\r\n });\r\n\r\n this.store.dispatch(loadUsers());\r\n }\r\n\r\n deleteUser(_item: User) {\r\n const _title = \"User Delete\";\r\n const _description = \"Are you sure to permanently delete this user?\";\r\n const _waitDesciption = \"User is deleting...\";\r\n const _deleteMessage = `User has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteUser({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{ row.roleType?.name }}\r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n {{ row.pilot.name }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { User } from \"src/app/core/auth\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-users-table\",\r\n templateUrl: \"./users-table.component.html\",\r\n styleUrls: [\"./users-table.component.scss\"],\r\n})\r\nexport class UsersTableComponent implements OnInit, AfterViewInit {\r\n @Input() users: User[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteUser = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"roleTemplate\", { static: false }) roleTemplate: TemplateRef;\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"pilotTemplate\", { static: false })\r\n pilotTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"username\",\r\n clientFieldName: \"username\",\r\n displayNameKey: \"Username\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"phone\",\r\n clientFieldName: \"phone\",\r\n displayNameKey: \"Phone\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"email\",\r\n clientFieldName: \"email\",\r\n displayNameKey: \"Email\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"customer\",\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n serverFieldName: \"roleType\",\r\n clientFieldName: \"roleType\",\r\n displayNameKey: \"Role\",\r\n sortable: true,\r\n template: this.roleTemplate,\r\n },\r\n {\r\n serverFieldName: \"pilot\",\r\n clientFieldName: \"pilot\",\r\n displayNameKey: \"Pilot\",\r\n template: this.pilotTemplate,\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editUserClick(user: User) {\r\n this.router.navigate([user.userId], { relativeTo: this.route });\r\n }\r\n}\r\n","
\r\n\t
{{data.message}}
\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, Inject, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\r\n// RxJS\r\nimport { delay } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'kt-action-natification',\r\n\ttemplateUrl: './action-notification.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.Default\r\n\r\n})\r\nexport class ActionNotificationComponent implements OnInit {\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param data: any\r\n\t */\r\n\tconstructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) { }\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (!this.data.showUndoButton || (this.data.undoButtonDuration >= this.data.duration)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.delayForUndoButton(this.data.undoButtonDuration).subscribe(() => {\r\n\t\t\tthis.data.showUndoButton = false;\r\n\t\t});\r\n\t}\r\n\r\n\t/*\r\n\t *\tReturns delay\r\n\t *\r\n\t * @param timeToDelay: any\r\n\t */\r\n\tdelayForUndoButton(timeToDelay) {\r\n\t\treturn of('').pipe(delay(timeToDelay));\r\n\t}\r\n\r\n\t/**\r\n\t * Dismiss with Action\r\n\t */\r\n\tonDismissWithAction() {\r\n\t\tthis.data.snackBar.dismiss();\r\n\t}\r\n\r\n\t/**\r\n\t * Dismiss\r\n\t */\r\n \tpublic onDismiss() {\r\n\t\tthis.data.snackBar.dismiss();\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'kt-alert',\r\n\ttemplateUrl: './alert.component.html'\r\n})\r\nexport class AlertComponent implements OnInit {\r\n\t// Public properties\r\n\t@Input() type: 'primary | accent | warn';\r\n\t@Input() duration = 0;\r\n\t@Input() showCloseButton = true;\r\n\t@Output() close = new EventEmitter();\r\n\talertShowing = true;\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (this.duration === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.closeAlert();\r\n\t\t}, this.duration);\r\n\t}\r\n\r\n\t/**\r\n\t * close alert\r\n\t */\r\n\tcloseAlert() {\r\n\t\tthis.close.emit();\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{data.title}}

\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{viewLoading ? data.waitDesciption : data.description}}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","// Angular\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: \"kt-delete-entity-dialog\",\r\n templateUrl: \"./delete-entity-dialog.component.html\",\r\n})\r\nexport class DeleteEntityDialogComponent implements OnInit {\r\n // Public properties\r\n viewLoading = false;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param dialogRef: MatDialogRef\r\n * @param data: any\r\n */\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {}\r\n\r\n /**\r\n * Close dialog with false result\r\n */\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n /**\r\n * Close dialog with true result\r\n */\r\n onYesClick(): void {\r\n this.dialogRef.close(true); // Keep only this row\r\n }\r\n}\r\n","// Angular\r\nimport { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n\tselector: 'kt-fetch-entity-dialog',\r\n\ttemplateUrl: './fetch-entity-dialog.component.html'\r\n})\r\nexport class FetchEntityDialogComponent {\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param dialogRef: MatDialogRef,\r\n\t * @param data: any\r\n\t */\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\r\n\t) {}\r\n\r\n\t/**\r\n\t * Close dialog with false result\r\n\t */\r\n\tonNoClick(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\t/** UI */\r\n\t/**\r\n\t * Returns CSS Class Name by status type\r\n\t * @param status: number\r\n\t */\r\n\tgetItemCssClassByStatus(status: number = 0) {\r\n\t\tswitch (status) {\r\n\t\t\tcase 0: return 'success';\r\n\t\t\tcase 1: return 'metal';\r\n\t\t\tcase 2: return 'danger';\r\n\t\t\tdefault: return 'success';\r\n\t\t}\r\n\t}\r\n}\r\n","// Components\r\nexport { UpdateStatusDialogComponent } from './update-status-dialog/update-status-dialog.component';\r\nexport { FetchEntityDialogComponent } from './fetch-entity-dialog/fetch-entity-dialog.component';\r\nexport { DeleteEntityDialogComponent } from './delete-entity-dialog/delete-entity-dialog.component';\r\nexport { AlertComponent } from './alert/alert.component';\r\nexport { ActionNotificationComponent } from './action-natification/action-notification.component';\r\n","// Angular\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n\tselector: 'kt-update-status-dialog',\r\n\ttemplateUrl: './update-status-dialog.component.html'\r\n})\r\nexport class UpdateStatusDialogComponent implements OnInit {\r\n\tselectedStatusForUpdate = new FormControl('');\r\n\tviewLoading = false;\r\n\tloadingAfterSubmit = false;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n\tngOnInit() {\r\n\t\t/* Server loading imitation. Remove this */\r\n\t\tthis.viewLoading = true;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.viewLoading = false;\r\n\t\t}, 2500);\r\n\t}\r\n\r\n\tonNoClick(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tupdateStatus() {\r\n\t\tif (this.selectedStatusForUpdate.value.length === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t/* Server loading imitation. Remove this */\r\n\t\tthis.viewLoading = true;\r\n\t\tthis.loadingAfterSubmit = true;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dialogRef.close(this.selectedStatusForUpdate.value); // Keep only this row\r\n\t\t}, 2500);\r\n\t}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Search in all fields\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n 0 }\"\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 \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 {{ col.displayNameKey }}\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 {{ row[field] }}\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","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n TemplateRef,\r\n ChangeDetectionStrategy,\r\n} from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport {\r\n MatDataSource,\r\n rowsAnimation,\r\n} from \"src/app/core/utils/mat-datasource\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { merge, fromEvent } from \"rxjs\";\r\nimport { tap, debounceTime, distinctUntilChanged } from \"rxjs/operators\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport * as _ from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-datatable\",\r\n templateUrl: \"./datatable.component.html\",\r\n styleUrls: [\"./datatable.component.scss\"],\r\n animations: [rowsAnimation],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DatatableComponent\r\n implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n @Input() data: any[];\r\n @Input() showFilter = true;\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Input() columns: DataTableColumn[];\r\n @Input() showSelect = false;\r\n @Input() selectActionsTemplate: TemplateRef;\r\n @Input() selectAllByDefault = false;\r\n @Input() hover = false;\r\n @Output() rowClicked = new EventEmitter();\r\n @Output() selectionChanged = new EventEmitter();\r\n @Input() hasMasterToggle = true;\r\n @Input() selectedItems;\r\n\r\n @ViewChild(MatPaginator, { static: true }) matPaginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(\"input\", { static: false }) input: ElementRef;\r\n\r\n datasource: MatTableDataSource;\r\n displayedColumns;\r\n selection = new SelectionModel(true, []);\r\n columnsDict = {};\r\n\r\n constructor() {\r\n this.datasource = new MatTableDataSource();\r\n\r\n this.datasourceOptions = new DatasourceOptions(\r\n 0,\r\n 1,\r\n \"\",\r\n 1,\r\n 10,\r\n \"id\",\r\n \"desc\"\r\n );\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (changes.data && this.data != null) {\r\n this.datasource.data = this.data;\r\n this.datasource.paginator = this.matPaginator;\r\n this.datasource.sort = this.sort;\r\n\r\n if (this.selectAllByDefault) {\r\n this.selection.clear();\r\n this.data.forEach((row) => this.selection.select(row));\r\n }\r\n }\r\n\r\n if (changes.columns && this.columns != null) {\r\n this.displayedColumns = this.columns.map((c) => c.clientFieldName);\r\n if (this.showSelect) {\r\n this.displayedColumns.splice(0, 0, \"select\");\r\n }\r\n\r\n this.columnsDict = this.columns.reduce((dict, curr) => {\r\n let colName = curr.clientFieldName;\r\n dict[colName] = curr;\r\n return dict;\r\n }, {});\r\n }\r\n\r\n if (this.selectedItems != null) {\r\n this.selection.select(...this.selectedItems);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n // debugger;\r\n // this.datasource.paginator = this.matPaginator;\r\n // this.datasource.sort = this.sort;\r\n });\r\n\r\n // Un comment for server side support\r\n // this.sort.sortChange.subscribe(() => (this.matPaginator.pageIndex = 0));\r\n\r\n // fromEvent(this.input.nativeElement, \"keyup\")\r\n // .pipe(\r\n // debounceTime(150),\r\n // distinctUntilChanged(),\r\n // tap(() => {\r\n // this.matPaginator.pageIndex = 0;\r\n // const options = new DatasourceOptions(\r\n // -1,\r\n // this.matPaginator.pageIndex + 1,\r\n // this.input.nativeElement.value,\r\n // -1,\r\n // this.matPaginator.pageSize,\r\n // this.sort.active != undefined ? this.sort.active : \"id\",\r\n // this.sort.direction != \"\" ? this.sort.direction : \"desc\"\r\n // );\r\n // this.loadData.emit(options);\r\n // })\r\n // )\r\n // .subscribe();\r\n\r\n // merge(this.sort.sortChange, this.matPaginator.page)\r\n // .pipe(\r\n // tap(() => {\r\n // debugger;\r\n // const options = new DatasourceOptions(\r\n // -1,\r\n // this.matPaginator.pageIndex + 1,\r\n // this.input.nativeElement.value,\r\n // -1,\r\n // this.matPaginator.pageSize,\r\n // this.sort.active != undefined ? this.sort.active : \"id\",\r\n // this.sort.direction != \"\" ? this.sort.direction : \"desc\"\r\n // );\r\n // this.loadData.emit(options);\r\n // })\r\n // )\r\n // .subscribe();\r\n\r\n this.datasource.sortingDataAccessor = (item, property) => {\r\n let sortBy = this.columnsDict[property].sortBy ?? property;\r\n return _.get(item, sortBy)\r\n }\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.datasource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n isAllSelected(): boolean {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n masterToggle() {\r\n if (this.selection.selected.length === this.data.length) {\r\n this.selection.clear();\r\n } else {\r\n this.data.forEach((row) => this.selection.select(row));\r\n }\r\n }\r\n\r\n selectClicked(row) {\r\n this.selection.toggle(row);\r\n this.selectionChanged.emit({\r\n row: row,\r\n isSelected: this.selection.isSelected(row),\r\n });\r\n }\r\n\r\n ngOnDestroy() {}\r\n}\r\n\r\nexport interface DataTableColumn {\r\n serverFieldName?: string;\r\n clientFieldName: string;\r\n displayNameKey: string;\r\n sortable: boolean;\r\n template?: TemplateRef;\r\n width?: number;\r\n sortBy?: string;\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","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n TemplateRef,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"kt-generic-portlet\",\r\n templateUrl: \"./generic-portlet.component.html\",\r\n styleUrls: [\"./generic-portlet.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class GenericPortletComponent implements OnInit {\r\n @Input() title = \"Title\";\r\n @Input() actionsTemplate: TemplateRef;\r\n @Input() loading;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\n\t\t","// Angular\r\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'kt-portlet-body',\r\n\ttemplate: `\r\n\t\t`\r\n})\r\nexport class PortletBodyComponent implements OnInit {\r\n\t// Public properties\r\n\t@HostBinding('class') classList = 'card-body';\r\n\t@Input() class: string;\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (this.class) {\r\n\t\t\tthis.classList += ' ' + this.class;\r\n\t\t}\r\n\t}\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","import {\r\n KtDialogService,\r\n StickyDirective,\r\n} from \"../../../../../core/_base/layout\";\r\n// Angular\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n PLATFORM_ID,\r\n ViewChild,\r\n ChangeDetectionStrategy,\r\n} from \"@angular/core\";\r\n// RXJS\r\nimport { Observable, Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"kt-portlet-header\",\r\n styleUrls: [\"portlet-header.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n templateUrl: \"./portlet-header.html\",\r\n})\r\nexport class PortletHeaderComponent\r\n implements OnInit, AfterViewInit, OnDestroy {\r\n // Public properties\r\n // append html class to the portlet header\r\n @Input() class: string;\r\n // a simple title text\r\n @Input() title: string;\r\n // icon name to be added to the i tag\r\n @Input() icon: string;\r\n // remove title container\r\n @Input() noTitle: boolean;\r\n // enable sticky portlet header\r\n @Input() sticky: boolean;\r\n // enable loading to display\r\n @Input() viewLoading$: Observable;\r\n viewLoading = false;\r\n\r\n @HostBinding(\"class\") classes = \"card-header\";\r\n @HostBinding(\"attr.ktSticky\") stickyDirective: StickyDirective;\r\n\r\n @ViewChild(\"refIcon\", { static: true }) refIcon: ElementRef;\r\n hideIcon: boolean;\r\n\r\n @ViewChild(\"refTools\", { static: true }) refTools: ElementRef;\r\n hideTools: boolean;\r\n\r\n private lastScrollTop = 0;\r\n private subscriptions: Subscription[] = [];\r\n private isScrollDown = false;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n @Inject(PLATFORM_ID) private platformId: string,\r\n private ktDialogService: KtDialogService\r\n ) {\r\n this.stickyDirective = new StickyDirective(this.el, this.platformId);\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize() {\r\n this.updateStickyPosition();\r\n }\r\n\r\n @HostListener(\"window:scroll\", [\"$event\"])\r\n onScroll() {\r\n this.updateStickyPosition();\r\n const st = window.pageYOffset || document.documentElement.scrollTop;\r\n this.isScrollDown = st > this.lastScrollTop;\r\n this.lastScrollTop = st <= 0 ? 0 : st;\r\n }\r\n\r\n updateStickyPosition() {\r\n if (this.sticky) {\r\n Promise.resolve(null).then(() => {\r\n // get boundary top margin for sticky header\r\n const headerElement = document.querySelector(\".header\") as HTMLElement;\r\n const subheaderElement = document.querySelector(\r\n \".subheader\"\r\n ) as HTMLElement;\r\n const headerMobileElement = document.querySelector(\r\n \".header-mobile\"\r\n ) as HTMLElement;\r\n\r\n let height = 0;\r\n\r\n if (headerElement != null) {\r\n // mobile header\r\n if (window.getComputedStyle(headerElement).height === \"0px\") {\r\n height += headerMobileElement.offsetHeight;\r\n } else {\r\n // desktop header\r\n if (document.body.classList.contains(\"header-minimize-topbar\")) {\r\n // hardcoded minimized header height\r\n height = 60;\r\n } else {\r\n // normal fixed header\r\n if (document.body.classList.contains(\"header-fixed\")) {\r\n height += headerElement.offsetHeight;\r\n }\r\n if (document.body.classList.contains(\"subheader-fixed\")) {\r\n height += subheaderElement.offsetHeight;\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.stickyDirective.marginTop = height;\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n if (this.sticky) {\r\n this.stickyDirective.ngOnInit();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n // append custom class\r\n this.classes += this.class ? \" \" + this.class : \"\";\r\n\r\n // hide icon's parent node if no icon provided\r\n this.hideIcon = this.refIcon.nativeElement.children.length === 0;\r\n\r\n // hide tools' parent node if no tools template is provided\r\n this.hideTools = this.refTools.nativeElement.children.length === 0;\r\n\r\n if (this.sticky) {\r\n this.updateStickyPosition();\r\n this.stickyDirective.ngAfterViewInit();\r\n }\r\n\r\n // initialize loading dialog\r\n if (this.viewLoading$) {\r\n const loadingSubscription = this.viewLoading$.subscribe((res) =>\r\n this.toggleLoading(res)\r\n );\r\n this.subscriptions.push(loadingSubscription);\r\n }\r\n });\r\n }\r\n\r\n toggleLoading(_incomingValue: boolean) {\r\n this.viewLoading = _incomingValue;\r\n if (_incomingValue && !this.ktDialogService.checkIsShown()) {\r\n this.ktDialogService.show();\r\n }\r\n\r\n if (!this.viewLoading && this.ktDialogService.checkIsShown()) {\r\n this.ktDialogService.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach((sb) => sb.unsubscribe());\r\n if (this.sticky) {\r\n this.stickyDirective.ngOnDestroy();\r\n }\r\n }\r\n}\r\n","
\r\n\t\r\n
\r\n","// Angular\r\nimport { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\n// Loading bar\r\nimport { LoadingBarService } from '@ngx-loading-bar/core';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// Portlet\r\nimport { PortletBodyComponent } from './portlet-body.component';\r\nimport { PortletHeaderComponent } from './portlet-header.component';\r\nimport { PortletFooterComponent } from './portlet-footer.component';\r\n// Layout\r\nimport { LayoutConfigService } from '../../../../../core/_base/layout';\r\n\r\nexport interface PortletOptions {\r\n\ttest?: any;\r\n}\r\n\r\n@Component({\r\n\tselector: 'kt-portlet',\r\n\ttemplateUrl: './portlet.component.html',\r\n\texportAs: 'ktPortlet'\r\n})\r\nexport class PortletComponent implements OnInit, AfterViewInit {\r\n\t// Public properties\r\n\t@Input() loading$: Observable;\r\n\t// portlet extra options\r\n\t@Input() options: PortletOptions;\r\n\t// portlet root classes\r\n\t@Input() class: string;\r\n\r\n\t@ViewChild('portlet', {static: true}) portlet: ElementRef;\r\n\r\n\t// portlet header component template\r\n\t@ViewChild(PortletHeaderComponent, {static: true}) header: PortletHeaderComponent;\r\n\t// portlet body component template\r\n\t@ViewChild(PortletBodyComponent, {static: true}) body: PortletBodyComponent;\r\n\t// portlet footer component template\r\n\t@ViewChild(PortletFooterComponent, {static: true}) footer: PortletFooterComponent;\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param el: ElementRef\r\n\t * @param loader: LoadingBarService\r\n\t * @param layoutConfigService: LayoutConfigService\r\n\t */\r\n\tconstructor(private el: ElementRef, public loader: LoadingBarService,\r\n\t private layoutConfigService: LayoutConfigService) {\r\n\t\tthis.loader.complete();\r\n\t}\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t}\r\n\r\n\t/**\r\n\t * After view init\r\n\t */\r\n\tngAfterViewInit() {\r\n\t}\r\n\r\n}\r\n","// Angular\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n// Module\r\nimport { CoreModule } from '../../../../../core/core.module';\r\n// Portlet\r\nimport { PortletComponent } from './portlet.component';\r\nimport { PortletHeaderComponent } from './portlet-header.component';\r\nimport { PortletBodyComponent } from './portlet-body.component';\r\nimport { PortletFooterComponent } from './portlet-footer.component';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tCoreModule,\r\n\t\tMatProgressSpinnerModule,\r\n\t\tMatProgressBarModule\r\n\t],\r\n\tdeclarations: [\r\n\t\tPortletComponent,\r\n\t\tPortletHeaderComponent,\r\n\t\tPortletBodyComponent,\r\n\t\tPortletFooterComponent,\r\n\t],\r\n\texports: [\r\n\t\tPortletComponent,\r\n\t\tPortletHeaderComponent,\r\n\t\tPortletBodyComponent,\r\n\t\tPortletFooterComponent,\r\n\t]\r\n})\r\nexport class PortletModule {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreModule } from '../../../../core/core.module';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\n// Datatable\r\nimport { DataTableComponent } from './general/data-table/data-table.component';\r\n// General widgets\r\nimport { Widget1Component } from './widget1/widget1.component';\r\nimport { Widget4Component } from './widget4/widget4.component';\r\nimport { Widget5Component } from './widget5/widget5.component';\r\nimport { Widget12Component } from './widget12/widget12.component';\r\nimport { Widget14Component } from './widget14/widget14.component';\r\nimport { Widget26Component } from './widget26/widget26.component';\r\nimport { Timeline2Component } from './timeline2/timeline2.component';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSortModule } from '@angular/material/sort';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tDataTableComponent,\r\n\t\t// Widgets\r\n\t\tWidget1Component,\r\n\t\tWidget4Component,\r\n\t\tWidget5Component,\r\n\t\tWidget12Component,\r\n\t\tWidget14Component,\r\n\t\tWidget26Component,\r\n\t\tTimeline2Component,\r\n\t],\r\n\texports: [\r\n\t\tDataTableComponent,\r\n\t\t// Widgets\r\n\t\tWidget1Component,\r\n\t\tWidget4Component,\r\n\t\tWidget5Component,\r\n\t\tWidget12Component,\r\n\t\tWidget14Component,\r\n\t\tWidget26Component,\r\n\t\tTimeline2Component,\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tPerfectScrollbarModule,\r\n\t\tMatTableModule,\r\n\t\tCoreModule,\r\n\t\tMatIconModule,\r\n\t\tMatButtonModule,\r\n\t\tMatProgressSpinnerModule,\r\n\t\tMatPaginatorModule,\r\n\t\tMatSortModule,\r\n\t]\r\n})\r\nexport class WidgetModule {\r\n}\r\n","\r\n \r\n \r\n \r\n None\r\n \r\n {{ data[filterBy] }}\r\n \r\n {{ error }} \r\n {{ hint }} \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { ReplaySubject } from \"rxjs\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\n\r\n@Component({\r\n selector: \"kt-mat-select-filter\",\r\n templateUrl: \"./mat-select-filter.component.html\",\r\n styleUrls: [\"./mat-select-filter.component.scss\"],\r\n})\r\nexport class MatSelectFilterComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() dataSet;\r\n @Input() filterBy: string;\r\n @Input() valueProperty: string;\r\n @Input() selectFormControl: FormControl = new FormControl();\r\n @Input() error = \"Incorrect input\";\r\n @Input() hint = \"Please enter data\";\r\n @Input() placeHolder = \"Select\";\r\n @Input() multiple = false;\r\n @Input() primitiveValue = true;\r\n searchFormControl: FormControl = new FormControl();\r\n\r\n @Output() valueChanged = new EventEmitter();\r\n\r\n filteredData: ReplaySubject = new ReplaySubject(1);\r\n value = [];\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // Subscribe to filter event\r\n this.searchFormControl.valueChanges\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this.filterData();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (changes?.dataSet && this.dataSet) {\r\n this.filteredData.next(this.dataSet.slice());\r\n }\r\n }\r\n\r\n private filterData() {\r\n if (!this.dataSet) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.searchFormControl.value;\r\n if (!search) {\r\n this.filteredData.next(this.dataSet.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter\r\n this.filteredData.next(\r\n this.dataSet.filter(\r\n (d) => d[this.filterBy].toLowerCase().indexOf(search) > -1\r\n )\r\n );\r\n }\r\n\r\n selectionChange($event) {\r\n let value = $event;\r\n\r\n if (!this.primitiveValue) {\r\n value = this.dataSet.find((i) => i[this.valueProperty] == $event);\r\n }\r\n\r\n if (this.multiple) {\r\n if (!this.searchFormControl.value) {\r\n this.value.push(...value);\r\n } else {\r\n let values = [...value, ...this.value];\r\n this.selectFormControl.setValue(\r\n values.filter((value, index, self) => self.indexOf(value) === index)\r\n );\r\n let val = this.selectFormControl.value;\r\n }\r\n }\r\n\r\n this.valueChanged.emit(value);\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n close\r\n \r\n\r\n\r\n\r\n {{ noEntriesFoundLabel }}\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n forwardRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n AfterViewInit,\r\n Inject,\r\n ChangeDetectorRef,\r\n Input,\r\n ViewChild,\r\n ElementRef,\r\n QueryList,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { MatOption } from \"@angular/material/core\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { take } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"kt-mat-select-search\",\r\n templateUrl: \"./mat-select-search.component.html\",\r\n styleUrls: [\"./mat-select-search.component.scss\"],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MatSelectSearchComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MatSelectSearchComponent\r\n implements OnInit, OnDestroy, AfterViewInit, ControlValueAccessor {\r\n /** Current search value */\r\n get value(): string {\r\n return this._value;\r\n }\r\n\r\n constructor(\r\n @Inject(MatSelect) public matSelect: MatSelect,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n /** Label of the search placeholder */\r\n @Input() placeholderLabel = \"Search\";\r\n\r\n /** Label to be shown when no entries are found. Set to null if no message should be shown. */\r\n @Input() noEntriesFoundLabel = \"No results\";\r\n\r\n /** Reference to the search input field */\r\n @ViewChild(\"searchSelectInput\", { read: ElementRef })\r\n searchSelectInput: ElementRef;\r\n private _value: string;\r\n\r\n /** Reference to the MatSelect options */\r\n public _options: QueryList;\r\n\r\n /** Previously selected values when using */\r\n private previousSelectedValues: any[];\r\n\r\n /** Whether the backdrop class has been set */\r\n private overlayClassSet = false;\r\n\r\n /** Event that emits when the current value changes */\r\n private change = new EventEmitter();\r\n\r\n onChange: Function = (_: any) => {};\r\n onTouched: Function = (_: any) => {};\r\n\r\n ngOnDestroy(): void {}\r\n\r\n ngOnInit(): void {\r\n // set custom panel class\r\n const panelClass = \"mat-select-search-panel\";\r\n if (this.matSelect.panelClass) {\r\n if (Array.isArray(this.matSelect.panelClass)) {\r\n this.matSelect.panelClass.push(panelClass);\r\n } else if (typeof this.matSelect.panelClass === \"string\") {\r\n this.matSelect.panelClass = [this.matSelect.panelClass, panelClass];\r\n } else if (typeof this.matSelect.panelClass === \"object\") {\r\n this.matSelect.panelClass[panelClass] = true;\r\n }\r\n } else {\r\n this.matSelect.panelClass = panelClass;\r\n }\r\n\r\n // when the select dropdown panel is opened or closed\r\n this.matSelect.openedChange\r\n .pipe(untilDestroyed(this))\r\n .subscribe((opened) => {\r\n if (opened) {\r\n // focus the search field when opening\r\n this._focus();\r\n } else {\r\n // clear it when closing\r\n this._reset();\r\n }\r\n });\r\n\r\n // set the first item active after the options changed\r\n this.matSelect.openedChange\r\n .pipe(take(1))\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this._options = this.matSelect.options;\r\n this._options.changes.pipe(untilDestroyed(this)).subscribe(() => {\r\n const keyManager = this.matSelect._keyManager;\r\n if (keyManager && this.matSelect.panelOpen) {\r\n // avoid \"expression has been changed\" error\r\n setTimeout(() => {\r\n keyManager.setFirstItemActive();\r\n });\r\n }\r\n });\r\n });\r\n\r\n // detect changes when the input changes\r\n this.change.pipe(untilDestroyed(this)).subscribe(() => {\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setOverlayClass();\r\n }\r\n\r\n _handleKeydown(event: KeyboardEvent) {\r\n if (event.keyCode === 32) {\r\n // do not propagate spaces to MatSelect, as this would select the currently active option\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n writeValue(value: string) {\r\n const valueChanged = value !== this._value;\r\n if (valueChanged) {\r\n this._value = value;\r\n this.change.emit(value);\r\n }\r\n }\r\n\r\n onInputChange(value) {\r\n const valueChanged = value !== this._value;\r\n\r\n if (valueChanged) {\r\n this._value = value;\r\n this.onChange(value);\r\n this.change.emit(value);\r\n }\r\n }\r\n\r\n onBlur(value: string) {\r\n this.writeValue(value);\r\n this.onTouched();\r\n }\r\n\r\n registerOnChange(fn: Function) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: Function) {\r\n this.onTouched = fn;\r\n }\r\n\r\n public _focus() {\r\n if (!this.searchSelectInput) {\r\n return;\r\n }\r\n // save and restore scrollTop of panel, since it will be reset by focus()\r\n // note: this is hacky\r\n const panel = this.matSelect.panel.nativeElement;\r\n const scrollTop = panel.scrollTop;\r\n\r\n // focus\r\n this.searchSelectInput.nativeElement.focus();\r\n\r\n panel.scrollTop = scrollTop;\r\n }\r\n\r\n public _reset(focus?: boolean) {\r\n if (!this.searchSelectInput) {\r\n return;\r\n }\r\n this.searchSelectInput.nativeElement.value = \"\";\r\n this.onInputChange(\"\");\r\n if (focus) {\r\n this._focus();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the overlay class to correct offsetY\r\n * so that the selected option is at the position of the select box when opening\r\n */\r\n private setOverlayClass() {\r\n if (this.overlayClassSet) {\r\n return;\r\n }\r\n const overlayClass = \"cdk-overlay-pane-select-search\";\r\n\r\n this.matSelect.overlayDir.attach\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n // note: this is hacky, but currently there is no better way to do this\r\n this.searchSelectInput.nativeElement.parentElement.parentElement.parentElement.parentElement.parentElement.classList.add(\r\n overlayClass\r\n );\r\n });\r\n\r\n this.overlayClassSet = true;\r\n }\r\n}\r\n","\r\n
\r\n\r\n\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
System Messages
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tTop Authors\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+82$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tPopular Authors\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+280$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tNew Users\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+4500$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tActive Customers\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+4500$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tBestseller Theme\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+4500$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
Notifications
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tAnother purpose persuade\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+28%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tWould be to people\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+50%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tPurpose would be to persuade\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t-27%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tThe best product\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+8%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
Customer Care
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
Reports
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
Memebers
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n","// Angular\r\nimport { Component } from '@angular/core';\r\n// Layout\r\nimport { OffcanvasOptions } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n\tselector: 'kt-quick-panel',\r\n\ttemplateUrl: './quick-panel.component.html',\r\n\tstyleUrls: ['./quick-panel.component.scss']\r\n})\r\nexport class QuickPanelComponent {\r\n\t// Public properties\r\n\toffcanvasOptions: OffcanvasOptions = {\r\n\t\toverlay: true,\r\n\t\tbaseClass: 'offcanvas',\r\n\t\tplacement: 'right',\r\n\t\tcloseBy: 'kt_quick_panel_close',\r\n\t\ttoggleBy: 'kt_quick_panel_toggle'\r\n\t};\r\n}\r\n","\r\n \r\n \r\n \r\n

\r\n User Profile\r\n 12 messages\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 {{ _user.username }}\r\n \r\n
--occupation--
\r\n \r\n \r\n Sign Out\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
Recent Notifications
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n Another purpose persuade\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +28%\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Would be to people\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +50%\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Purpose would be to persuade\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n -27%\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n The best product\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +8%\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","// Angular\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\n// Layout\r\nimport { OffcanvasOptions } from '../../../../core/_base/layout';\r\nimport { AppState } from '../../../../core/reducers';\r\nimport { User } from '../../../../core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\nimport { currentUser } from 'src/app/core/store/selectors/auth.selectors';\r\n\r\n@Component({\r\n selector: 'kt-quick-user-panel',\r\n templateUrl: './quick-user-panel.component.html',\r\n styleUrls: ['./quick-user-panel.component.scss']\r\n})\r\nexport class QuickUserPanelComponent implements OnInit {\r\n user$: Observable;\r\n // Public properties\r\n offcanvasOptions: OffcanvasOptions = {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_user_close',\r\n toggleBy: 'kt_quick_user_toggle'\r\n };\r\n\r\n constructor(private store: Store) {\r\n\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.user$ = this.store.pipe(select(currentUser));\r\n }\r\n\r\n /**\r\n * Log out\r\n */\r\n logout() { \r\n this.store.dispatch(logout());\r\n }\r\n}\r\n","\r\n
\r\n\t\r\n
\r\n\r\n","// Angular\r\nimport { Component } from '@angular/core';\r\n// Layout\r\nimport { ScrollTopOptions } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n\tselector: 'kt-scroll-top',\r\n\ttemplateUrl: './scroll-top.component.html',\r\n})\r\nexport class ScrollTopComponent {\r\n\t// Public properties\r\n\tscrollTopOptions: ScrollTopOptions = {\r\n\t\toffset: 300,\r\n\t\tspeed: 600\r\n\t};\r\n}\r\n","\r\n \r\n
\r\n
\r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No record found\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\t
\r\n\t\tDocuments\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ el.title }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ el.description}}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t\tMembers\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.title}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.description}}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t\tFiles\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.title}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.description}}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-search-result',\r\n templateUrl: './search-result.component.html',\r\n styleUrls: ['./search-result.component.scss']\r\n})\r\nexport class SearchResultComponent {\r\n // Public properties\r\n @Input() data: [];\r\n}\r\n","\r\n
\r\n\t\"Logo\"\r\n\t\r\n
\r\n","// Angular\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Layout\r\nimport { LayoutConfigService, SplashScreenService } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-splash-screen',\r\n templateUrl: './splash-screen.component.html',\r\n styleUrls: ['./splash-screen.component.scss']\r\n})\r\nexport class SplashScreenComponent implements OnInit {\r\n // Public properties\r\n loaderType: string;\r\n @ViewChild('splashScreen', {static: true}) splashScreen: ElementRef;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param el: ElementRef\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param splashScreenService: SplashScreenService\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n private layoutConfigService: LayoutConfigService,\r\n private splashScreenService: SplashScreenService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n // init splash screen, see loader option in layout.config.ts\r\n const loaderConfig = this.layoutConfigService.getConfig('loader');\r\n this.loaderType = objectPath.get(loaderConfig, 'page-loader.type');\r\n\r\n this.splashScreenService.init(this.splashScreen);\r\n }\r\n}\r\n","\r\n\r\n\r\n","// Angular\r\nimport {Component} from '@angular/core';\r\n// Layout\r\nimport {LayoutConfigService, OffcanvasOptions} from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-sticky-toolbar',\r\n templateUrl: './sticky-toolbar.component.html',\r\n styleUrls: ['./sticky-toolbar.component.scss'],\r\n})\r\nexport class StickyToolbarComponent {\r\n // Public properties\r\n demoPanelOptions: OffcanvasOptions = {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_demo_panel_close',\r\n toggleBy: 'kt_demo_panel_toggle'\r\n };\r\n\r\n baseHref: string;\r\n\r\n constructor(private layoutConfigService: LayoutConfigService) {\r\n this.baseHref = 'https://keenthemes.com/metronic/preview/angular/';\r\n }\r\n\r\n isActiveDemo(demo) {\r\n return demo === this.layoutConfigService.getConfig('demo');\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\t\t\t\"language\"\r\n\t\t
\r\n\t
\r\n \r\n\r\n \r\n
\r\n\t\t\r\n\t
\r\n \r\n
\r\n","// Angular\r\nimport { Component, HostBinding, OnInit, Input } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n// RxJS\r\nimport { filter } from 'rxjs/operators';\r\n// Translate\r\nimport { TranslationService } from '../../../../../core/_base/layout';\r\n\r\ninterface LanguageFlag {\r\n lang: string;\r\n name: string;\r\n flag: string;\r\n active?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'kt-language-selector',\r\n templateUrl: './language-selector.component.html',\r\n})\r\nexport class LanguageSelectorComponent implements OnInit {\r\n // Public properties\r\n @Input() iconType: '' | 'brand';\r\n\r\n language: LanguageFlag;\r\n languages: LanguageFlag[] = [\r\n {\r\n lang: 'en',\r\n name: 'English',\r\n flag: './assets/media/svg/flags/226-united-states.svg'\r\n },\r\n {\r\n lang: 'ch',\r\n name: 'Mandarin',\r\n flag: './assets/media/svg/flags/015-china.svg'\r\n },\r\n {\r\n lang: 'es',\r\n name: 'Spanish',\r\n flag: './assets/media/svg/flags/128-spain.svg'\r\n },\r\n {\r\n lang: 'jp',\r\n name: 'Japanese',\r\n flag: './assets/media/svg/flags/063-japan.svg'\r\n },\r\n {\r\n lang: 'de',\r\n name: 'German',\r\n flag: './assets/media/svg/flags/162-germany.svg'\r\n },\r\n {\r\n lang: 'fr',\r\n name: 'French',\r\n flag: './assets/media/svg/flags/195-france.svg'\r\n },\r\n ];\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param translationService: TranslationService\r\n * @param router: Router\r\n */\r\n constructor(private translationService: TranslationService, private router: Router) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.setSelectedLanguage();\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationStart))\r\n .subscribe(event => {\r\n this.setSelectedLanguage();\r\n });\r\n }\r\n\r\n /**\r\n * Set language\r\n *\r\n * @param lang: any\r\n */\r\n setLanguage(lang) {\r\n this.languages.forEach((language: LanguageFlag) => {\r\n if (language.lang === lang) {\r\n language.active = true;\r\n this.language = language;\r\n } else {\r\n language.active = false;\r\n }\r\n });\r\n this.translationService.setLanguage(lang);\r\n }\r\n\r\n /**\r\n * Set selected language\r\n */\r\n setSelectedLanguage(): any {\r\n this.setLanguage(this.translationService.getSelectedLanguage());\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\t
\r\n \r\n\r\n \r\n
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t

\r\n\t\t\t\t\tUser Notifications\r\n\t\t\t\t\t23 new\r\n\t\t\t\t

\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tAlerts\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tEvents\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tLogs\r\n\t\t\t\t\t
  • \r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew report has been received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
23 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tFinance report has been generated\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
25 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew order has been received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
2 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew customer is registered\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
3 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tApplication has been approved\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
3 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew file has been uploaded\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
5 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew user feedback received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
8 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tSystem reboot has been successfully completed\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
12 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew order has been placed\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
15 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tCompany meeting canceled\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
19 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew report has been received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
23 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tFinance report has been generated\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
25 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew customer comment recieved\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
2 days ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew customer is registered\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
3 days ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tAll caught up!\r\n\t\t\t\t\t\t\t
No new notifications.\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'kt-notification',\r\n templateUrl: './notification.component.html',\r\n styleUrls: ['notification.component.scss']\r\n})\r\nexport class NotificationComponent {\r\n\r\n // Show dot on top of the icon\r\n @Input() dot: string;\r\n\r\n // Show pulse on icon\r\n @Input() pulse: boolean;\r\n\r\n @Input() pulseLight: boolean;\r\n\r\n // Set icon class name\r\n @Input() icon = 'flaticon2-bell-alarm-symbol';\r\n @Input() iconType: '' | 'success';\r\n\r\n // Set true to icon as SVG or false as icon class\r\n @Input() useSVG: boolean;\r\n\r\n // Set bg image path\r\n @Input() bgImage: string;\r\n\r\n // Set skin color, default to light\r\n @Input() skin: 'light' | 'dark' = 'light';\r\n\r\n @Input() type: 'brand' | 'success' = 'success';\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param sanitizer: DomSanitizer\r\n */\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n backGroundStyle(): string {\r\n if (!this.bgImage) {\r\n return 'none';\r\n }\r\n\r\n return 'url(' + this.bgImage + ')';\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n\t\t
\r\n\t
\r\n \r\n\r\n \r\n
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Quick Actions

\r\n\t\t\t\t23 tasks pending\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-quick-action',\r\n templateUrl: './quick-action.component.html',\r\n})\r\nexport class QuickActionComponent implements OnInit, AfterViewInit {\r\n // Public properties\r\n\r\n // Set icon class name\r\n @Input() icon = 'flaticon2-gear';\r\n\r\n // Set true to icon as SVG or false as icon class\r\n @Input() useSVG: boolean;\r\n\r\n // Set bg image path\r\n @Input() bgImage: string;\r\n\r\n // Set skin color, default to light\r\n @Input() skin: 'light' | 'dark' = 'light';\r\n\r\n /**\r\n * Component constructor\r\n */\r\n constructor() {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\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\t\t\t \r\n\t\t \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\t\t\r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport {ChangeDetectorRef, Component, ElementRef, Input, OnInit, ViewChild} from '@angular/core';\r\n\r\nconst documents = {\r\n title: 'Documents',\r\n type: 0,\r\n items: [\r\n {\r\n svgPath: 'assets/media/svg/files/doc.svg',\r\n title: 'AirPlus Requirements',\r\n description: 'by Grog John'\r\n },\r\n {\r\n svgPath: 'assets/media/svg/files/pdf.svg',\r\n title: 'TechNav Documentation',\r\n description: 'by Mary Brown'\r\n },\r\n {\r\n svgPath: 'assets/media/svg/files/xml.svg',\r\n title: 'All Framework Docs',\r\n description: 'by Nick Stone'\r\n },\r\n {\r\n svgPath: 'assets/media/svg/files/csv.svg',\r\n title: 'Finance & Accounting Reports',\r\n description: 'by Jhon Larson'\r\n }\r\n ]\r\n};\r\n\r\nconst members = {\r\n title: 'Members',\r\n type: 1,\r\n items: [\r\n {\r\n imgPath: 'assets/media/users/300_20.jpg',\r\n title: 'Milena Gibson',\r\n description: 'UI Designer'\r\n },\r\n {\r\n imgPath: 'assets/media/users/300_15.jpg',\r\n title: 'Stefan JohnStefan',\r\n description: 'Marketing Manager'\r\n },\r\n {\r\n imgPath: 'assets/media/users/300_12.jpg',\r\n title: 'Anna Strong',\r\n description: 'Software Developer'\r\n },\r\n {\r\n imgPath: 'assets/media/users/300_16.jpg',\r\n title: 'Nick Bold',\r\n description: 'Project Coordinator'\r\n }\r\n ]\r\n};\r\n\r\nconst files = {\r\n title: 'Files',\r\n type: 2,\r\n items: [\r\n {\r\n iconClasses: 'flaticon-psd text-primary',\r\n title: '79 PSD files generated',\r\n description: 'by Grog John'\r\n },\r\n {\r\n iconClasses: 'flaticon2-supermarket text-warning',\r\n title: '$2900 worth products sold',\r\n description: 'Total 234 items'\r\n },\r\n {\r\n iconClasses: 'flaticon-safe-shield-protection text-info',\r\n title: '4 New items submitted',\r\n description: 'Marketing Manager'\r\n },\r\n {\r\n iconClasses: 'flaticon-safe-shield-protection text-warning',\r\n title: '4 New items submitted',\r\n description: 'Marketing Manager'\r\n }\r\n ]\r\n};\r\n\r\n@Component({\r\n selector: 'kt-search-dropdown',\r\n templateUrl: './search-dropdown.component.html'\r\n})\r\nexport class SearchDropdownComponent implements OnInit {\r\n // Public properties\r\n @Input() layout = 'dropdown';\r\n // Set icon class name\r\n @Input() icon = 'flaticon2-search-1';\r\n\r\n // Set true to icon as SVG or false as icon class\r\n @Input() useSVG: boolean;\r\n\r\n @Input() type: 'brand' | 'success' | 'warning' = 'success';\r\n\r\n @ViewChild('searchInput', {static: true}) searchInput: ElementRef;\r\n\r\n data: any[] = null;\r\n loading: boolean;\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // simulate result from API\r\n }\r\n\r\n /**\r\n * Search\r\n * @param e: Event\r\n */\r\n search(e) {\r\n this.data = null;\r\n if (e.target.value.length > 1) {\r\n this.loading = true;\r\n // simulate getting search result\r\n setTimeout(() => {\r\n // Uncomment this. Right now it's just mock\r\n // this.data = this.searchInData(e.target.value);\r\n this.data = [documents, members, files];\r\n this.loading = false;\r\n this.cdr.markForCheck();\r\n }, 500);\r\n }\r\n }\r\n\r\n /**\r\n * Clear search\r\n *\r\n * @param e: Event\r\n */\r\n clear(e) {\r\n this.data = null;\r\n this.searchInput.nativeElement.value = '';\r\n }\r\n\r\n openChange() {\r\n setTimeout(() => this.searchInput.nativeElement.focus());\r\n }\r\n\r\n showCloseButton() {\r\n return this.data && this.data.length && !this.loading;\r\n }\r\n\r\n // searchInData(searchText: string): any {\r\n // searchText = searchText.toLowerCase().trim();\r\n // const result = [];\r\n // const docsResult = this.searchInContainer(searchText, documents);\r\n // if (docsResult) {\r\n // result.push(docsResult);\r\n // }\r\n //\r\n // const membersResult = this.searchInContainer(searchText, members);\r\n // if (membersResult) {\r\n // result.push(membersResult);\r\n // }\r\n //\r\n // const filesResult = this.searchInContainer(searchText, files);\r\n // if (filesResult) {\r\n // result.push(filesResult);\r\n // }\r\n //\r\n // return result;\r\n // }\r\n\r\n // searchInContainer(searchText, source) {\r\n // const items = source.items.filter(\r\n // el =>\r\n // el.title.toLowerCase().indexOf(searchText) > -1 ||\r\n // el.description.toLowerCase().indexOf(searchText) > -1\r\n // );\r\n // if (items.length === 0) {\r\n // return undefined; // No results\r\n // }\r\n //\r\n // return Object.assign({items}, source);\r\n // }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n Hi,\r\n {{_user.username}}\r\n \r\n\t\t\t\t{{_user.username|firstLetter}}\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n \r\n\r\n \r\n
\r\n\t\t\r\n \r\n
\r\n \r\n
\r\n \r\n {{_user.username|firstLetter}}\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n {{_user.username}}\r\n
\r\n 3 messages\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{_user.username|firstLetter}}\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n {{_user.username}}\r\n
\r\n \r\n
\r\n 3 messages\r\n
\r\n \r\n
\r\n \r\n\t\t\r\n \r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// NGRX\r\nimport { select, Store } from '@ngrx/store';\r\n// State\r\nimport { AppState } from '../../../../../core/reducers';\r\nimport {User } from '../../../../../core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\nimport { currentUser } from 'src/app/core/store/selectors/auth.selectors';\r\n\r\n@Component({\r\n selector: 'kt-user-profile',\r\n templateUrl: './user-profile.component.html',\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n // Public properties\r\n user$: Observable;\r\n\r\n @Input() userDropdownStyle = 'light';\r\n @Input() avatar = true;\r\n @Input() greeting = true;\r\n @Input() badge: boolean;\r\n @Input() icon: boolean;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param store: Store\r\n */\r\n constructor(private store: Store) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.user$ = this.store.pipe(select(currentUser));\r\n }\r\n\r\n /**\r\n * Log out\r\n */\r\n logout() {\r\n this.store.dispatch(logout());\r\n }\r\n}\r\n","\r\n\t
\r\n
\r\n\t\t\t\t\r\n Hi,\r\n \r\n \r\n {{_user.username}}\r\n \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{_user.username|firstLetter}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// NGRX\r\nimport { select, Store } from '@ngrx/store';\r\n// State\r\nimport { AppState } from '../../../../../core/reducers';\r\nimport { User } from '../../../../../core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\nimport { currentUser } from 'src/app/core/store/selectors/auth.selectors';\r\n\r\n@Component({\r\n selector: 'kt-user-profile4',\r\n templateUrl: './user-profile4.component.html',\r\n})\r\nexport class UserProfile4Component implements OnInit {\r\n // Public properties\r\n user$: Observable;\r\n\r\n @Input() avatar = true;\r\n @Input() greeting = true;\r\n @Input() badge: boolean;\r\n @Input() icon: boolean;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param store: Store\r\n */\r\n constructor(private store: Store) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.user$ = this.store.pipe(select(currentUser));\r\n }\r\n\r\n /**\r\n * Log out\r\n */\r\n logout() {\r\n this.store.dispatch(logout());\r\n }\r\n}\r\n","import { PilotTasksModule } from \"./../pages/pilot-tasks/pilot-tasks.module\";\r\nimport { ViewTaskComponent } from \"./../pages/pilot-tasks/pilot-tasks-list/view-task/view-task.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NgApexchartsModule } from \"ng-apexcharts\";\r\n// NgBootstrap\r\nimport {\r\n NgbDropdownModule,\r\n NgbTabsetModule,\r\n NgbTooltipModule,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\n// Perfect Scrollbar\r\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\n// Core module\r\nimport { CoreModule } from \"../../core/core.module\";\r\n// CRUD Partials\r\nimport {\r\n ActionNotificationComponent,\r\n AlertComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent,\r\n} from \"./content/crud\";\r\n// Layout partials\r\nimport {\r\n ContextMenu2Component,\r\n ContextMenuComponent,\r\n LanguageSelectorComponent,\r\n NotificationComponent,\r\n QuickActionComponent,\r\n QuickPanelComponent,\r\n QuickUserPanelComponent,\r\n ScrollTopComponent,\r\n SearchDefaultComponent,\r\n SearchDropdownComponent,\r\n SearchResultComponent,\r\n SplashScreenComponent,\r\n StickyToolbarComponent,\r\n Subheader1Component,\r\n Subheader2Component,\r\n Subheader3Component,\r\n SubheaderSearchComponent,\r\n UserProfile2Component,\r\n UserProfile3Component,\r\n UserProfileComponent,\r\n UserProfile4Component,\r\n} from \"./layout\";\r\nimport {\r\n Widget1SalesStatComponent,\r\n Widget9RecentActivitiesComponent,\r\n Widget12NewUsersComponent,\r\n Widget7WeeklySalesComponent,\r\n Widget1TasksOverviewComponent,\r\n Widget2NewArrivalsComponent,\r\n Widget3NewArrivalsAuthorsComponent,\r\n Widget4TodoComponent,\r\n Widget8TrendsComponent,\r\n Dropdown1Component,\r\n Dropdown2Component,\r\n Dropdown3Component,\r\n Dropdown4Component,\r\n Dropdown5Component,\r\n} from \"./content/dashboard-widgets\";\r\n// General\r\nimport { NoticeComponent } from \"./content/general/notice/notice.component\";\r\nimport { PortletModule } from \"./content/general/portlet/portlet.module\";\r\n// Extra module\r\nimport { WidgetModule } from \"./content/widgets/widget.module\";\r\n// SVG inline\r\nimport { InlineSVGModule } from \"ng-inline-svg\";\r\nimport { CartComponent } from \"./layout/topbar/cart/cart.component\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\r\nimport { MatSortModule } from \"@angular/material/sort\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { GenericPortletComponent } from \"./content/general/generic-portlet/generic-portlet.component\";\r\nimport { DatatableComponent } from \"./content/general/datatable/datatable.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { MatSelectSearchComponent } from \"./layout/mat-select-search/mat-select-search.component\";\r\nimport { MatSelectFilterComponent } from \"./layout/mat-select-filter/mat-select-filter.component\";\r\nimport { MapComponent } from \"./content/general/map/map.component\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { MatSelectCheckboxFilterComponent } from \"./layout/mat-select-checkbox-filter/mat-select-checkbox-filter.component\";\r\nimport { DroneActivitiesWidgetComponent } from \"./content/dashboard-widgets/drone-activities-widget/drone-activities-widget.component\";\r\nimport { DroneActivitiesMapComponent } from \"./content/dashboard-widgets/drone-activities-widget/drone-activities-map/drone-activities-map.component\";\r\nimport { TasksMapWidgetComponent } from \"./content/dashboard-widgets/tasks-map-widget/tasks-map-widget.component\";\r\nimport { TasksMapComponent } from \"./content/dashboard-widgets/tasks-map-widget/tasks-map/tasks-map.component\";\r\nimport { TaskMapDetailsDialogComponent } from \"./content/dashboard-widgets/tasks-map-widget/tasks-map/task-map-details-dialog/task-map-details-dialog.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ScrollTopComponent,\r\n NoticeComponent,\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent,\r\n AlertComponent,\r\n\r\n // topbar components\r\n ContextMenu2Component,\r\n ContextMenuComponent,\r\n QuickPanelComponent,\r\n QuickUserPanelComponent,\r\n ScrollTopComponent,\r\n SearchResultComponent,\r\n SplashScreenComponent,\r\n StickyToolbarComponent,\r\n Subheader1Component,\r\n Subheader2Component,\r\n Subheader3Component,\r\n SubheaderSearchComponent,\r\n LanguageSelectorComponent,\r\n NotificationComponent,\r\n QuickActionComponent,\r\n SearchDefaultComponent,\r\n SearchDropdownComponent,\r\n UserProfileComponent,\r\n UserProfile2Component,\r\n UserProfile3Component,\r\n UserProfile4Component,\r\n CartComponent,\r\n Widget1SalesStatComponent,\r\n Widget9RecentActivitiesComponent,\r\n Widget12NewUsersComponent,\r\n Widget7WeeklySalesComponent,\r\n Widget1TasksOverviewComponent,\r\n Widget2NewArrivalsComponent,\r\n Widget3NewArrivalsAuthorsComponent,\r\n Widget4TodoComponent,\r\n Widget8TrendsComponent,\r\n Dropdown1Component,\r\n Dropdown2Component,\r\n Dropdown3Component,\r\n Dropdown4Component,\r\n Dropdown5Component,\r\n GenericPortletComponent,\r\n DatatableComponent,\r\n MatSelectSearchComponent,\r\n MatSelectFilterComponent,\r\n MapComponent,\r\n MatSelectCheckboxFilterComponent,\r\n DroneActivitiesWidgetComponent,\r\n DroneActivitiesMapComponent,\r\n ],\r\n exports: [\r\n WidgetModule,\r\n PortletModule,\r\n\r\n ScrollTopComponent,\r\n NoticeComponent,\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent,\r\n AlertComponent,\r\n\r\n // topbar components\r\n ContextMenu2Component,\r\n ContextMenuComponent,\r\n QuickPanelComponent,\r\n QuickUserPanelComponent,\r\n ScrollTopComponent,\r\n SearchResultComponent,\r\n SplashScreenComponent,\r\n StickyToolbarComponent,\r\n Subheader1Component,\r\n Subheader2Component,\r\n Subheader3Component,\r\n SubheaderSearchComponent,\r\n LanguageSelectorComponent,\r\n NotificationComponent,\r\n QuickActionComponent,\r\n SearchDefaultComponent,\r\n SearchDropdownComponent,\r\n UserProfileComponent,\r\n // UserProfile2Component,\r\n // UserProfile3Component,\r\n UserProfile4Component,\r\n CartComponent,\r\n Widget1SalesStatComponent,\r\n Widget9RecentActivitiesComponent,\r\n Widget12NewUsersComponent,\r\n Widget7WeeklySalesComponent,\r\n Widget1TasksOverviewComponent,\r\n Widget2NewArrivalsComponent,\r\n Widget3NewArrivalsAuthorsComponent,\r\n Widget4TodoComponent,\r\n Widget8TrendsComponent,\r\n DroneActivitiesWidgetComponent,\r\n Dropdown1Component,\r\n Dropdown2Component,\r\n Dropdown3Component,\r\n Dropdown4Component,\r\n Dropdown5Component,\r\n GenericPortletComponent,\r\n DatatableComponent,\r\n MatSelectSearchComponent,\r\n MatSelectFilterComponent,\r\n MapComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n\r\n ReactiveFormsModule,\r\n PerfectScrollbarModule,\r\n InlineSVGModule,\r\n CoreModule,\r\n PortletModule,\r\n WidgetModule,\r\n NgApexchartsModule,\r\n // angular material modules\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatTableModule,\r\n MatAutocompleteModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatDatepickerModule,\r\n MatCardModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatSnackBarModule,\r\n MatTabsModule,\r\n MatTooltipModule,\r\n MatDialogModule,\r\n MatTableModule,\r\n MatAutocompleteModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatCheckboxModule,\r\n\r\n // ng-bootstrap modules\r\n NgbDropdownModule,\r\n NgbTabsetModule,\r\n NgbTooltipModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n }),\r\n ],\r\n})\r\nexport class PartialsModule {}\r\n","\r\n
\r\n\t\r\n\t\r\n\t\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t\r\n
\r\n\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\t
  • \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t
  • \r\n\r\n
    \r\n\r\n\r\n\t
      \r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
    \r\n
    \r\n\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t{{item.title}}\r\n\t\r\n\t\r\n\t\t{{item.badge.value}}\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\r\n\r\n\t
  • \r\n
    \r\n\r\n\r\n\t
  • \r\n\t\t

    {{item.section}}

    \r\n\t\t\r\n\t
  • \r\n
    \r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport * as objectPath from \"object-path\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n MenuAsideService,\r\n MenuOptions,\r\n OffcanvasOptions,\r\n} from \"../../../core/_base/layout\";\r\nimport { HtmlClassService } from \"../html-class.service\";\r\n\r\n@Component({\r\n selector: \"kt-aside-left\",\r\n templateUrl: \"./aside-left.component.html\",\r\n styleUrls: [\"./aside-left.component.scss\"],\r\n})\r\nexport class AsideLeftComponent implements OnInit, AfterViewInit {\r\n private offcanvas: any;\r\n\r\n @ViewChild(\"asideMenuOffcanvas\", { static: true })\r\n asideMenuOffcanvas: ElementRef;\r\n @ViewChild(\"asideMenu\", { static: true }) asideMenu: ElementRef;\r\n\r\n asideLogo = \"\";\r\n asideClasses = \"\";\r\n currentRouteUrl = \"\";\r\n insideTm: any;\r\n outsideTm: any;\r\n\r\n menuCanvasOptions: OffcanvasOptions = {\r\n baseClass: \"aside\",\r\n overlay: true,\r\n closeBy: \"kt_aside_close_btn\",\r\n toggleBy: {\r\n target: \"kt_aside_mobile_toggle\",\r\n state: \"mobile-toggle-active\",\r\n },\r\n };\r\n\r\n menuOptions: MenuOptions = {\r\n // submenu setup\r\n submenu: {\r\n desktop: {\r\n // by default the menu mode set to accordion in desktop mode\r\n default: \"dropdown\",\r\n },\r\n tablet: \"accordion\", // menu set to accordion in tablet mode\r\n mobile: \"accordion\", // menu set to accordion in mobile mode\r\n },\r\n\r\n // accordion setup\r\n accordion: {\r\n expandAll: false, // allow having multiple expanded accordions in the menu\r\n },\r\n };\r\n\r\n /**\r\n * Component Constructor\r\n *\r\n * param htmlClassService: HtmlClassService\r\n * param menuAsideService\r\n * param layoutConfigService: LayoutConfigService\r\n * param router: Router\r\n * param render: Renderer2\r\n * param cdr: ChangeDetectorRef\r\n */\r\n constructor(\r\n public htmlClassService: HtmlClassService,\r\n public menuAsideService: MenuAsideService,\r\n public layoutConfigService: LayoutConfigService,\r\n private router: Router,\r\n private render: Renderer2,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {}\r\n\r\n ngOnInit() {\r\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\r\n\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe((event) => {\r\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\r\n this.mobileMenuClose();\r\n this.cdr.markForCheck();\r\n });\r\n\r\n const config = this.layoutConfigService.getConfig();\r\n\r\n if (objectPath.get(config, \"aside.menu.dropdown\")) {\r\n this.render.setAttribute(\r\n this.asideMenu.nativeElement,\r\n \"data-ktmenu-dropdown\",\r\n \"1\"\r\n );\r\n // tslint:disable-next-line:max-line-length\r\n this.render.setAttribute(\r\n this.asideMenu.nativeElement,\r\n \"data-ktmenu-dropdown-timeout\",\r\n objectPath.get(config, \"aside.menu.submenu.dropdown.hover-timeout\")\r\n );\r\n }\r\n\r\n this.asideClasses = this.htmlClassService\r\n .getClasses(\"aside\", true)\r\n .toString();\r\n this.asideLogo = this.getAsideLogo();\r\n setTimeout(() => {\r\n this.offcanvas = new KTOffcanvas(\r\n this.asideMenuOffcanvas.nativeElement,\r\n this.menuCanvasOptions\r\n );\r\n });\r\n }\r\n\r\n getAsideLogo() {\r\n let result = \"logo-light.png\";\r\n const brandSelfTheme =\r\n this.layoutConfigService.getConfig(\"brand.self.theme\") || \"\";\r\n if (brandSelfTheme === \"light\") {\r\n result = \"logo-dark.png\";\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n\r\n /**\r\n * Check Menu is active\r\n * @param item: any\r\n */\r\n isMenuItemIsActive(item): boolean {\r\n if (item.submenu) {\r\n return this.isMenuRootItemIsActive(item);\r\n }\r\n\r\n if (!item.page) {\r\n return false;\r\n }\r\n\r\n let isActive = this.currentRouteUrl.indexOf(item.page) !== -1;\r\n return isActive;\r\n }\r\n\r\n /**\r\n * Check Menu Root Item is active\r\n * @param item: any\r\n */\r\n isMenuRootItemIsActive(item): boolean {\r\n let result = false;\r\n\r\n for (const subItem of item.submenu) {\r\n result = this.isMenuItemIsActive(subItem);\r\n if (result) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Use for fixed left aside menu, to show menu on mouseenter event.\r\n * @param e Event\r\n */\r\n mouseEnter(e: Event) {\r\n // check if the left aside menu is fixed\r\n if (document.body.classList.contains(\"aside-fixed\")) {\r\n if (this.outsideTm) {\r\n clearTimeout(this.outsideTm);\r\n this.outsideTm = null;\r\n }\r\n\r\n this.insideTm = setTimeout(() => {\r\n // if the left aside menu is minimized\r\n if (\r\n document.body.classList.contains(\"aside-minimize\") &&\r\n KTUtil.isInResponsiveRange(\"desktop\")\r\n ) {\r\n // show the left aside menu\r\n this.render.removeClass(document.body, \"aside-minimize\");\r\n this.render.addClass(document.body, \"aside-minimize-hover\");\r\n }\r\n }, 50);\r\n }\r\n }\r\n\r\n /**\r\n * Use for fixed left aside menu, to show menu on mouseenter event.\r\n * @param e Event\r\n */\r\n mouseLeave(e: Event) {\r\n if (document.body.classList.contains(\"aside-fixed\")) {\r\n if (this.insideTm) {\r\n clearTimeout(this.insideTm);\r\n this.insideTm = null;\r\n }\r\n\r\n this.outsideTm = setTimeout(() => {\r\n // if the left aside menu is expand\r\n if (\r\n document.body.classList.contains(\"aside-minimize-hover\") &&\r\n KTUtil.isInResponsiveRange(\"desktop\")\r\n ) {\r\n // hide back the left aside menu\r\n this.render.removeClass(document.body, \"aside-minimize-hover\");\r\n this.render.addClass(document.body, \"aside-minimize\");\r\n }\r\n }, 100);\r\n }\r\n }\r\n\r\n /**\r\n * Returns Submenu CSS Class Name\r\n * @param item: any\r\n */\r\n getItemCssClasses(item) {\r\n let classes = \"menu-item\";\r\n\r\n if (objectPath.get(item, \"submenu\")) {\r\n classes += \" menu-item-submenu\";\r\n }\r\n\r\n if (!item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += \" menu-item-active menu-item-here\";\r\n }\r\n\r\n if (item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += \" menu-item-open menu-item-here\";\r\n }\r\n\r\n // custom class for menu item\r\n const customClass = objectPath.get(item, \"custom-class\");\r\n if (customClass) {\r\n classes += \" \" + customClass;\r\n }\r\n\r\n if (objectPath.get(item, \"icon-only\")) {\r\n classes += \" menu-item-icon-only\";\r\n }\r\n\r\n return classes;\r\n }\r\n\r\n getItemAttrSubmenuToggle(item) {\r\n let toggle = \"hover\";\r\n if (objectPath.get(item, \"toggle\") === \"click\") {\r\n toggle = \"click\";\r\n } else if (objectPath.get(item, \"submenu.type\") === \"tabs\") {\r\n toggle = \"tabs\";\r\n } else {\r\n // submenu toggle default to 'hover'\r\n }\r\n\r\n return toggle;\r\n }\r\n\r\n mobileMenuClose() {\r\n if (KTUtil.isBreakpointDown(\"lg\") && this.offcanvas) {\r\n // Tablet and mobile mode\r\n this.offcanvas.hide(); // Hide offcanvas after general link click\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 \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 \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
    \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","import { currentUser } from \"./../../../core/auth/_selectors/auth.selectors\";\r\n// Angular\r\nimport { Component, OnDestroy, OnInit, ViewEncapsulation } from \"@angular/core\";\r\n// RxJS\r\nimport { Observable, Subscription } from \"rxjs\";\r\n// Object-Path\r\nimport * as objectPath from \"object-path\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n MenuConfigService,\r\n PageConfigService,\r\n} from \"../../../core/_base/layout\";\r\nimport { HtmlClassService } from \"../html-class.service\";\r\nimport { LayoutConfig } from \"../../../core/_config/layout.config\";\r\nimport { MenuConfig } from \"../../../core/_config/menu.config\";\r\nimport { PageConfig } from \"../../../core/_config/page.config\";\r\n// User permissions\r\nimport { NgxPermissionsService } from \"ngx-permissions\";\r\nimport { currentUserPermissions, Permission } from \"../../../core/auth\";\r\nimport { select, Store } from \"@ngrx/store\";\r\nimport { AppState } from \"../../../core/reducers\";\r\n\r\n@Component({\r\n selector: \"kt-base\",\r\n templateUrl: \"./base.component.html\",\r\n styleUrls: [\"./base.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BaseComponent implements OnInit, OnDestroy {\r\n // Public variables\r\n selfLayout = \"default\";\r\n asideSelfDisplay: true;\r\n contentClasses = \"\";\r\n contentContainerClasses = \"\";\r\n subheaderDisplay = true;\r\n contentExtended: false;\r\n\r\n // Private properties\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n private currentUserPermissions$: Observable;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * param layoutConfigService: LayoutConfigService\r\n * param menuConfigService: MenuConfigService\r\n * param pageConfigService: PageConfigService\r\n * param htmlClassService: HtmlClassService\r\n * param store\r\n * param permissionsService\r\n */\r\n constructor(\r\n private layoutConfigService: LayoutConfigService,\r\n private menuConfigService: MenuConfigService,\r\n private pageConfigService: PageConfigService,\r\n private htmlClassService: HtmlClassService,\r\n private store: Store,\r\n private permissionsService: NgxPermissionsService\r\n ) {\r\n this.loadRolesWithPermissions();\r\n\r\n // register configs by demos\r\n this.layoutConfigService.loadConfigs(new LayoutConfig().configs);\r\n //this.menuConfigService.loadConfigs(new MenuConfig().configs);\r\n\r\n this.store.select(currentUser).subscribe((user) => {\r\n if (user) {\r\n this.menuConfigService.loadConfigs(\r\n new MenuConfig().getConfigs(user.roleType)\r\n );\r\n }\r\n });\r\n //this.menuConfigService.loadConfigs(new MenuConfig().getConfigs());\r\n this.pageConfigService.loadConfigs(new PageConfig().configs);\r\n\r\n // setup element classes\r\n this.htmlClassService.setConfig(this.layoutConfigService.getConfig());\r\n\r\n const subscription = this.layoutConfigService.onConfigUpdated$.subscribe(\r\n (layoutConfig) => {\r\n // reset body class based on global and page level layout config, refer to html-class.service.ts\r\n document.body.className = \"\";\r\n this.htmlClassService.setConfig(layoutConfig);\r\n }\r\n );\r\n this.unsubscribe.push(subscription);\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // this.store.select(currentUser).subscribe((user) => {\r\n // if (user) {\r\n // this.menuConfigService.loadConfigs(new MenuConfig().getConfigs());\r\n // }\r\n // });\r\n\r\n const config = this.layoutConfigService.getConfig();\r\n // Load UI from Layout settings\r\n this.selfLayout = objectPath.get(config, \"self.layout\");\r\n this.asideSelfDisplay = objectPath.get(config, \"aside.self.display\");\r\n this.subheaderDisplay = objectPath.get(config, \"subheader.display\");\r\n this.contentClasses = this.htmlClassService\r\n .getClasses(\"content\", true)\r\n .toString();\r\n this.contentContainerClasses = this.htmlClassService\r\n .getClasses(\"content_container\", true)\r\n .toString();\r\n this.contentExtended = objectPath.get(config, \"content.extended\");\r\n\r\n // let the layout type change\r\n const subscription = this.layoutConfigService.onConfigUpdated$.subscribe(\r\n (cfg) => {\r\n setTimeout(() => {\r\n this.selfLayout = objectPath.get(cfg, \"self.layout\");\r\n });\r\n }\r\n );\r\n this.unsubscribe.push(subscription);\r\n }\r\n\r\n /**\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n // https://www.npmjs.com/package/ngx-permissions\r\n this.permissionsService.flushPermissions();\r\n }\r\n\r\n /**\r\n * NGX Permissions, init roles\r\n */\r\n loadRolesWithPermissions() {\r\n this.currentUserPermissions$ = this.store.pipe(\r\n select(currentUserPermissions)\r\n );\r\n const subscription = this.currentUserPermissions$.subscribe((res) => {\r\n if (!res || res.length === 0) {\r\n return;\r\n }\r\n\r\n this.permissionsService.flushPermissions();\r\n res.forEach((pm: Permission) =>\r\n this.permissionsService.addPermission(pm.name)\r\n );\r\n });\r\n this.unsubscribe.push(subscription);\r\n }\r\n}\r\n","\r\n
    \r\n \r\n \r\n\t \"logo\"\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n","// Angular\r\nimport { AfterViewInit, Component, OnInit } from '@angular/core';\r\n// Layout\r\nimport { LayoutConfigService, ToggleOptions } from '../../../core/_base/layout';\r\nimport { HtmlClassService } from '../html-class.service';\r\n\r\n@Component({\r\n selector: 'kt-brand',\r\n templateUrl: './brand.component.html',\r\n})\r\nexport class BrandComponent implements OnInit, AfterViewInit {\r\n // Public properties\r\n headerLogo = '';\r\n brandClasses = '';\r\n asideSelfMinimizeToggle = true;\r\n\r\n toggleOptions: ToggleOptions = {\r\n target: 'kt_body',\r\n targetState: 'aside-minimize',\r\n toggleState: 'active'\r\n };\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param htmlClassService: HtmlClassService\r\n */\r\n constructor(private layoutConfigService: LayoutConfigService, public htmlClassService: HtmlClassService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.headerLogo = this.getAsideLogo();\r\n this.brandClasses = this.htmlClassService.getClasses('brand', true).toString();\r\n this.asideSelfMinimizeToggle = this.layoutConfigService.getConfig('aside.self.minimize.toggle');\r\n }\r\n\r\n /**\r\n * On after view init\r\n */\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n getAsideLogo() {\r\n let result = 'agri-logo-1.png';\r\n const brandSelfTheme = this.layoutConfigService.getConfig('brand.self.theme') || '';\r\n if (brandSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n\r\n toggleAsideClick() {\r\n document.body.classList.toggle('aside-minimize');\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 Contact\r\n
    \r\n \r\n\r\n\r\n","// Angular\r\nimport { Component, OnInit } from '@angular/core';\r\n// Layout\r\nimport { HtmlClassService } from '../html-class.service';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n\r\n@Component({\r\n selector: 'kt-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent implements OnInit {\r\n // Public properties\r\n today: number = Date.now();\r\n footerClasses = '';\r\n footerContainerClasses = '';\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param uiClasses: HtmlClassService\r\n */\r\n constructor(private uiClasses: HtmlClassService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.footerClasses = this.uiClasses.getClasses('footer', true).toString();\r\n this.footerContainerClasses = this.uiClasses.getClasses('footer_container', true).toString();\r\n }\r\n}\r\n","\r\n\r\n \r\n
    \r\n \"logo\"\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 \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","// Angular\r\nimport { Component, OnInit } from '@angular/core';\r\n// Layout\r\nimport { HtmlClassService } from '../../html-class.service';\r\nimport { LayoutConfigService, ToggleOptions } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-header-mobile',\r\n templateUrl: './header-mobile.component.html',\r\n styleUrls: ['./header-mobile.component.scss'],\r\n})\r\nexport class HeaderMobileComponent implements OnInit {\r\n // Public properties\r\n headerLogo = '';\r\n asideSelfDisplay = true;\r\n headerMenuSelfDisplay = true;\r\n headerMobileClasses = '';\r\n\r\n toggleOptions: ToggleOptions = {\r\n target: KTUtil.getBody(),\r\n targetState: 'topbar-mobile-on',\r\n toggleState: 'active'\r\n };\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param layoutConfigService: LayoutConfigService\r\n */\r\n constructor(private layoutConfigService: LayoutConfigService, private uiService: HtmlClassService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.headerMobileClasses = this.uiService.getClasses('header_mobile', true).toString();\r\n this.headerLogo = this.getLogoUrl();\r\n this.asideSelfDisplay = this.layoutConfigService.getConfig('aside.self.display');\r\n this.headerMenuSelfDisplay = this.layoutConfigService.getConfig('header.menu.self.display');\r\n }\r\n\r\n getLogoUrl() {\r\n const headerSelfTheme = this.layoutConfigService.getConfig('header.self.theme') || '';\r\n const brandSelfTheme = this.layoutConfigService.getConfig('brand.self.theme') || '';\r\n let result = 'agri-logo-1.png';\r\n if (!this.asideSelfDisplay) {\r\n if (headerSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n }\r\n } else {\r\n if (brandSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n }\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n}\r\n","\r\n
    \r\n \r\n
    \r\n\r\n 0\">\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 \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n","// Angular\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationStart,\r\n RouteConfigLoadEnd,\r\n RouteConfigLoadStart,\r\n Router\r\n} from '@angular/router';\r\n// Loading bar\r\nimport { LoadingBarService } from '@ngx-loading-bar/core';\r\n// Layout\r\nimport { LayoutConfigService, LayoutRefService } from '../../../core/_base/layout';\r\n// HTML Class Service\r\nimport { HtmlClassService } from '../html-class.service';\r\n\r\n\r\n@Component({\r\n selector: 'kt-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnInit, AfterViewInit {\r\n // Public properties\r\n headerClasses = '';\r\n headerContainerClasses = '';\r\n headerMenuClasses = '';\r\n headerLogo = '';\r\n headerAttributes = {};\r\n headerMenuSelfDisplay = true;\r\n\r\n @ViewChild('ktHeader', {static: true}) ktHeader: ElementRef;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param router: Router\r\n * @param layoutRefService: LayoutRefService\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param loader: LoadingBarService\r\n * @param htmlClassService: HtmlClassService\r\n */\r\n constructor(\r\n private router: Router,\r\n private layoutRefService: LayoutRefService,\r\n private layoutConfigService: LayoutConfigService,\r\n public loader: LoadingBarService,\r\n public htmlClassService: HtmlClassService\r\n ) {\r\n // page progress bar percentage\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n // set page progress bar loading to start on NavigationStart event router\r\n this.loader.start();\r\n }\r\n if (event instanceof RouteConfigLoadStart) {\r\n this.loader.increment(35);\r\n }\r\n if (event instanceof RouteConfigLoadEnd) {\r\n this.loader.increment(75);\r\n }\r\n if (event instanceof NavigationEnd || event instanceof NavigationCancel) {\r\n // set page progress bar loading to end on NavigationEnd event router\r\n this.loader.complete();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.headerClasses = this.htmlClassService.getClasses('header', true).toString();\r\n this.headerAttributes = this.htmlClassService.getAttributes('header');\r\n this.headerLogo = this.getLogo();\r\n this.headerMenuSelfDisplay = this.layoutConfigService.getConfig('header.menu.self.display');\r\n this.headerContainerClasses = this.htmlClassService.getClasses('header_container', true).toString();\r\n this.headerMenuClasses = this.htmlClassService.getClasses('header_menu', true).toString();\r\n // header width fluid\r\n\r\n // animate the header minimize the height on scroll down. to be removed, not applicable for default demo\r\n /*if (objectPath.get(config, 'header.self.fixed.desktop.enabled') || objectPath.get(config, 'header.self.fixed.desktop')) {\r\n // header minimize on scroll down\r\n this.ktHeader.nativeElement.setAttribute('data-ktheader-minimize', '1');\r\n }*/\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // keep header element in the service\r\n this.layoutRefService.addElement('header', this.ktHeader.nativeElement);\r\n }\r\n\r\n getLogo() {\r\n let result = 'logo-light.png';\r\n const headerSelfTheme = this.layoutConfigService.getConfig('header.self.theme') || '';\r\n if (headerSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n } else {\r\n if (headerSelfTheme === 'dark') {\r\n result = 'logo-light.png';\r\n }\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n}\r\n","\r\n
    \r\n \r\n \r\n
    \r\n \r\n \"logo\"\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
      \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\t
  • \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\r\n\t\t\t\t
      \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
      \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t
    \r\n\t
  • \r\n
    \r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t{{item.title}}\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t{{item.title}}\r\n\t\t\r\n\t\t\t{{item.badge.value}}\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\t
  • \r\n\t\t

    \r\n\t\t\t\r\n\t\t\t\t{{item.heading.title}}\r\n\t\t\t\r\n\t\t\t\r\n\t\t

    \r\n\t\t\r\n\t\t\t
      \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t
  • \r\n
    \r\n","// Angular\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n Input,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// RxJS\r\nimport { filter } from 'rxjs/operators';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n MenuConfigService,\r\n MenuHorizontalService,\r\n MenuOptions,\r\n OffcanvasOptions\r\n} from '../../../../core/_base/layout';\r\n// HTML Class\r\nimport { HtmlClassService } from '../../html-class.service';\r\n\r\n@Component({\r\n selector: 'kt-menu-horizontal',\r\n templateUrl: './menu-horizontal.component.html',\r\n styleUrls: ['./menu-horizontal.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MenuHorizontalComponent implements OnInit, AfterViewInit {\r\n private offcanvas: any;\r\n @ViewChild('headerMenuOffcanvas', { static: true }) headerMenuOffcanvas: ElementRef;\r\n\r\n @Input() headerLogo: string;\r\n @Input() headerMenuSelfDisplay: boolean;\r\n @Input() headerMenuClasses: string;\r\n // Public properties\r\n currentRouteUrl: any = '';\r\n asideSelfDisplay = '';\r\n rootArrowEnabled: boolean;\r\n\r\n menuOptions: MenuOptions = {\r\n submenu: {\r\n desktop: 'dropdown',\r\n tablet: 'accordion',\r\n mobile: 'accordion'\r\n },\r\n accordion: {\r\n slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n expandAll: false // allow having multiple expanded accordions in the menu\r\n },\r\n dropdown: {\r\n timeout: 50\r\n }\r\n };\r\n\r\n offcanvasOptions: OffcanvasOptions = {\r\n overlay: true,\r\n baseClass: 'header-menu-wrapper',\r\n closeBy: 'kt_header_menu_mobile_close_btn',\r\n toggleBy: {\r\n target: 'kt_header_mobile_toggle',\r\n state: 'mobile-toggle-active'\r\n }\r\n };\r\n\r\n /**\r\n * Component Conctructor\r\n *\r\n * @param el: ElementRef\r\n * @param htmlClassService: HtmlClassService\r\n * @param menuHorService: MenuHorService\r\n * @param menuConfigService: MenuConfigService\r\n * @param layoutConfigService: LayouConfigService\r\n * @param router: Router\r\n * @param render: Renderer2\r\n * @param cdr: ChangeDetectorRef\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n public htmlClassService: HtmlClassService,\r\n public menuHorService: MenuHorizontalService,\r\n private menuConfigService: MenuConfigService,\r\n private layoutConfigService: LayoutConfigService,\r\n private router: Router,\r\n private render: Renderer2,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.rootArrowEnabled = this.layoutConfigService.getConfig('header.menu.self.rootArrow');\r\n this.currentRouteUrl = this.router.url;\r\n setTimeout(() => {\r\n this.offcanvas = new KTOffcanvas(this.headerMenuOffcanvas.nativeElement, this.offcanvasOptions);\r\n });\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(event => {\r\n this.currentRouteUrl = this.router.url;\r\n this.mobileMenuClose();\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n /**\r\n * Return Css Class Name\r\n * @param item: any\r\n */\r\n getItemCssClasses(item) {\r\n let classes = 'menu-item';\r\n\r\n if (objectPath.get(item, 'submenu')) {\r\n classes += ' menu-item-submenu';\r\n }\r\n\r\n if (!item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += ' menu-item-active menu-item-here';\r\n }\r\n\r\n if (item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += ' menu-item-open menu-item-here';\r\n }\r\n\r\n if (objectPath.get(item, 'resizer')) {\r\n classes += ' menu-item-resize';\r\n }\r\n\r\n const menuType = objectPath.get(item, 'submenu.type') || 'classic';\r\n if ((objectPath.get(item, 'root') && menuType === 'classic')\r\n || parseInt(objectPath.get(item, 'submenu.width'), 10) > 0) {\r\n classes += ' menu-item-rel';\r\n }\r\n\r\n const customClass = objectPath.get(item, 'custom-class');\r\n if (customClass) {\r\n classes += ' ' + customClass;\r\n }\r\n\r\n if (objectPath.get(item, 'icon-only')) {\r\n classes += ' menu-item-icon-only';\r\n }\r\n\r\n return classes;\r\n }\r\n\r\n /**\r\n * Returns Attribute SubMenu Toggle\r\n * @param item: any\r\n */\r\n getItemAttrSubmenuToggle(item) {\r\n let toggle = 'hover';\r\n if (objectPath.get(item, 'toggle') === 'click') {\r\n toggle = 'click';\r\n } else if (objectPath.get(item, 'submenu.type') === 'tabs') {\r\n toggle = 'tabs';\r\n } else {\r\n // submenu toggle default to 'hover'\r\n }\r\n\r\n return toggle;\r\n }\r\n\r\n /**\r\n * Returns Submenu CSS Class Name\r\n * @param item: any\r\n */\r\n getItemMenuSubmenuClass(item) {\r\n let classes = '';\r\n\r\n const alignment = objectPath.get(item, 'alignment') || 'right';\r\n\r\n if (alignment) {\r\n classes += ' menu-submenu-' + alignment;\r\n }\r\n\r\n const type = objectPath.get(item, 'type') || 'classic';\r\n if (type === 'classic') {\r\n classes += ' menu-submenu-classic';\r\n }\r\n if (type === 'tabs') {\r\n classes += ' menu-submenu-tabs';\r\n }\r\n if (type === 'mega') {\r\n if (objectPath.get(item, 'width')) {\r\n classes += ' menu-submenu-fixed';\r\n }\r\n }\r\n\r\n if (objectPath.get(item, 'pull')) {\r\n classes += ' menu-submenu-pull';\r\n }\r\n\r\n return classes;\r\n }\r\n\r\n /**\r\n * Check Menu is active\r\n * @param item: any\r\n */\r\n isMenuItemIsActive(item): boolean {\r\n if (item.submenu) {\r\n return this.isMenuRootItemIsActive(item);\r\n }\r\n\r\n if (!item.page) {\r\n return false;\r\n }\r\n\r\n return this.currentRouteUrl.indexOf(item.page) !== -1;\r\n }\r\n\r\n /**\r\n * Check Menu Root Item is active\r\n * @param item: any\r\n */\r\n isMenuRootItemIsActive(item): boolean {\r\n if (item.submenu.items) {\r\n for (const subItem of item.submenu.items) {\r\n if (this.isMenuItemIsActive(subItem)) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n if (item.submenu.columns) {\r\n for (const subItem of item.submenu.columns) {\r\n if (this.isMenuItemIsActive(subItem)) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n if (typeof item.submenu[Symbol.iterator] === 'function') {\r\n for (const subItem of item.submenu) {\r\n const active = this.isMenuItemIsActive(subItem);\r\n if (active) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n mobileMenuClose() {\r\n if (KTUtil.isBreakpointDown('lg') && this.offcanvas) { // Tablet and mobile mode\r\n this.offcanvas.hide(); // Hide offcanvas after general link click\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 \r\n\r\n \r\n\t \r\n\t \r\n\t \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 \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 \r\n \r\n \r\n
    \r\n\r\n","// Angular\r\nimport { Component } from '@angular/core';\r\nimport {LayoutConfigService} from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.scss'],\r\n})\r\nexport class TopbarComponent {\r\n searchDisplay = true;\r\n notificationsDisplay = true;\r\n quickActionsDisplay = true;\r\n cartDisplay = true;\r\n quickPanelDisplay = true;\r\n languagesDisplay = true;\r\n userDisplay = true;\r\n userLayout = 'offcanvas';\r\n userDropdownStyle = 'light';\r\n\r\n constructor(private layoutConfigService: LayoutConfigService) {\r\n this.searchDisplay = this.layoutConfigService.getConfig('extras.search.display');\r\n this.notificationsDisplay = this.layoutConfigService.getConfig('extras.notifications.display');\r\n this.quickActionsDisplay = this.layoutConfigService.getConfig('extras.quick-actions.display');\r\n this.cartDisplay = this.layoutConfigService.getConfig('extras.cart.display');\r\n this.quickPanelDisplay = this.layoutConfigService.getConfig('extras.quick-panel.display');\r\n this.languagesDisplay = this.layoutConfigService.getConfig('extras.languages.display');\r\n this.userDisplay = this.layoutConfigService.getConfig('extras.user.display');\r\n this.userLayout = this.layoutConfigService.getConfig('extras.user.layout');\r\n this.userDropdownStyle = this.layoutConfigService.getConfig('extras.user.dropdown.style');\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// Object-Path\r\nimport * as objectPath from \"object-path\";\r\n// RxJS\r\nimport { BehaviorSubject } from \"rxjs\";\r\n// Layout\r\nimport { LayoutConfigModel } from \"../../core/_base/layout\";\r\n\r\nexport interface ClassType {\r\n header: string[];\r\n header_container: string[];\r\n header_mobile: string[];\r\n header_menu: string[];\r\n aside_menu: string[];\r\n subheader: string[];\r\n subheader_container: string[];\r\n content: string[];\r\n content_container: string[];\r\n footer_container: string[];\r\n}\r\n\r\nexport interface AttrType {\r\n aside_menu: any;\r\n}\r\n\r\n@Injectable()\r\nexport class HtmlClassService {\r\n // Public properties\r\n config: LayoutConfigModel;\r\n classes: ClassType;\r\n attrs: AttrType;\r\n onClassesUpdated$: BehaviorSubject;\r\n // Private properties\r\n private loaded: string[] = [];\r\n\r\n /**\r\n * Component constructor\r\n */\r\n constructor() {\r\n this.onClassesUpdated$ = new BehaviorSubject(this.classes);\r\n }\r\n\r\n /**\r\n * Build html element classes from layout config\r\n * param layoutConfig\r\n */\r\n setConfig(layoutConfig: LayoutConfigModel) {\r\n this.config = this.preInit(layoutConfig);\r\n\r\n // scope list of classes\r\n this.classes = {\r\n header: [],\r\n header_container: [],\r\n header_mobile: [],\r\n header_menu: [],\r\n aside_menu: [],\r\n subheader: [],\r\n subheader_container: [],\r\n content: [],\r\n content_container: [],\r\n footer_container: [],\r\n };\r\n\r\n this.attrs = {\r\n aside_menu: {},\r\n };\r\n\r\n // init base layout\r\n this.initLayout();\r\n this.initLoader();\r\n\r\n // init header and subheader menu\r\n this.initHeader();\r\n this.initSubheader();\r\n\r\n // init content\r\n this.initContent();\r\n // init aside and aside menu\r\n this.initAside();\r\n\r\n // init footer\r\n this.initFooter();\r\n\r\n this.initSkins();\r\n\r\n this.onClassesUpdated$.next(this.classes);\r\n }\r\n\r\n /**\r\n * Returns Classes\r\n *\r\n * @param path: string\r\n * @param toString boolean\r\n */\r\n getClasses(path?: string, toString?: boolean): ClassType | string[] | string {\r\n if (path) {\r\n const classes = objectPath.get(this.classes, path) || \"\";\r\n if (toString && Array.isArray(classes)) {\r\n return classes.join(\" \");\r\n }\r\n return classes.toString();\r\n }\r\n return this.classes;\r\n }\r\n\r\n getAttributes(path: string): any {\r\n return this.attrs[path];\r\n }\r\n\r\n private preInit(layout) {\r\n const updatedLayout = Object.assign({}, layout);\r\n const subheaderFixed = objectPath.get(updatedLayout, \"subheader.fixed\");\r\n const headerSelfFixedDesktop = objectPath.get(\r\n updatedLayout,\r\n \"header.self.fixed.desktop\"\r\n );\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n updatedLayout.subheader.style = \"solid\";\r\n } else {\r\n updatedLayout.subheader.fixed = false;\r\n }\r\n\r\n return layout;\r\n }\r\n\r\n /**\r\n * Init Layout\r\n */\r\n private initLayout() {\r\n const selfBodyBackgroundImage = objectPath.get(\r\n this.config,\r\n \"self.body.background-image\"\r\n );\r\n if (selfBodyBackgroundImage) {\r\n document.body.style.backgroundImage = `url(\"${selfBodyBackgroundImage}\")`;\r\n }\r\n\r\n const selfBodyClass = (\r\n objectPath.get(this.config, \"self.body.class\") || \"\"\r\n ).toString();\r\n if (selfBodyClass) {\r\n const bodyClasses: string[] = selfBodyClass.split(\" \");\r\n bodyClasses.forEach((cssClass) => document.body.classList.add(cssClass));\r\n }\r\n }\r\n\r\n /**\r\n * Init Loader\r\n */\r\n private initLoader() {}\r\n\r\n /**\r\n * Init Header\r\n */\r\n private initHeader() {\r\n // Fixed header\r\n const headerSelfFixedDesktop = objectPath.get(\r\n this.config,\r\n \"header.self.fixed.desktop\"\r\n );\r\n if (headerSelfFixedDesktop) {\r\n //document.body.classList.add(\"header-fixed\");\r\n // objectPath.push(this.classes, \"header\", \"header-fixed\");\r\n } else {\r\n document.body.classList.add(\"header-static\");\r\n }\r\n\r\n const headerSelfFixedMobile = objectPath.get(\r\n this.config,\r\n \"header.self.fixed.mobile\"\r\n );\r\n if (headerSelfFixedMobile) {\r\n document.body.classList.add(\"header-mobile-fixed\");\r\n objectPath.push(this.classes, \"header_mobile\", \"header-mobile-fixed\");\r\n }\r\n\r\n // Menu\r\n const headerMenuSelfDisplay = objectPath.get(\r\n this.config,\r\n \"header.menu.self.display\"\r\n );\r\n const headerMenuSelfLayout = objectPath.get(\r\n this.config,\r\n \"header.menu.self.layout\"\r\n );\r\n if (headerMenuSelfDisplay) {\r\n objectPath.push(\r\n this.classes,\r\n \"header_menu\",\r\n `header-menu-layout-${headerMenuSelfLayout}`\r\n );\r\n\r\n if (objectPath.get(this.config, \"header.menu.self.rootArrow\")) {\r\n objectPath.push(this.classes, \"header_menu\", \"header-menu-root-arrow\");\r\n }\r\n }\r\n\r\n if (objectPath.get(this.config, \"header.self.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"header_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"header_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Subheader\r\n */\r\n private initSubheader() {\r\n const subheaderDisplay = objectPath.get(this.config, \"subheader.display\");\r\n if (subheaderDisplay) {\r\n //document.body.classList.add(\"subheader-enabled\");\r\n } else {\r\n return;\r\n }\r\n\r\n // Fixed content head\r\n const subheaderFixed = objectPath.get(this.config, \"subheader.fixed\");\r\n const headerSelfFixedDesktop = objectPath.get(\r\n this.config,\r\n \"header.self.fixed.desktop\"\r\n );\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n document.body.classList.add(\"subheader-fixed\");\r\n }\r\n\r\n const subheaderStyle = objectPath.get(this.config, \"subheader.style\");\r\n if (subheaderStyle) {\r\n objectPath.push(this.classes, \"subheader\", `subheader-${subheaderStyle}`);\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"subheader_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"subheader_container\", \"container\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.clear\")) {\r\n objectPath.push(this.classes, \"subheader\", \"mb-0\");\r\n }\r\n }\r\n\r\n // Init Content\r\n private initContent() {\r\n if (objectPath.get(this.config, \"content.fit-top\")) {\r\n objectPath.push(this.classes, \"content\", \"pt-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.fit-bottom\")) {\r\n objectPath.push(this.classes, \"content\", \"pb-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"content_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"content_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Aside\r\n */\r\n private initAside() {\r\n if (objectPath.get(this.config, \"aside.self.display\") !== true) {\r\n return;\r\n }\r\n\r\n // Enable Aside\r\n document.body.classList.add(\"aside-enabled\");\r\n\r\n // Fixed Aside\r\n if (objectPath.get(this.config, \"aside.self.fixed\")) {\r\n document.body.classList.add(\"aside-fixed\");\r\n objectPath.push(this.classes, \"aside\", \"aside-fixed\");\r\n } else {\r\n document.body.classList.add(\"aside-static\");\r\n }\r\n\r\n // Check Aside\r\n if (objectPath.get(this.config, \"aside.self.display\") !== true) {\r\n return;\r\n }\r\n\r\n // Default fixed\r\n if (objectPath.get(this.config, \"aside.self.minimize.default\")) {\r\n document.body.classList.add(\"aside-minimize\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"aside.self.minimize.hoverable\")) {\r\n document.body.classList.add(\"aside-minimize-hoverable\");\r\n }\r\n\r\n // Menu\r\n // Dropdown Submenu\r\n const asideMenuDropdown = objectPath.get(\r\n this.config,\r\n \"aside.menu.dropdown\"\r\n );\r\n if (asideMenuDropdown) {\r\n objectPath.push(this.classes, \"aside_menu\", \"aside-menu-dropdown\");\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\"data-menu-dropdown\"] = \"1\";\r\n }\r\n\r\n // Scrollable Menu\r\n if (asideMenuDropdown !== true) {\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\"data-menu-scroll\"] = \"1\";\r\n } else {\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\"data-menu-scroll\"] = \"0\";\r\n }\r\n\r\n const asideMenuSubmenuDropdownHoverTimout = objectPath.get(\r\n this.config,\r\n \"aside.menu.submenu.dropdown.hover-timeout\"\r\n );\r\n if (asideMenuSubmenuDropdownHoverTimout) {\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\r\n \"data-menu-dropdown-timeout\"\r\n ] = asideMenuSubmenuDropdownHoverTimout;\r\n }\r\n }\r\n\r\n /**\r\n * Init Footer\r\n */\r\n private initFooter() {\r\n // Fixed header\r\n if (objectPath.get(this.config, \"footer.fixed\") === true) {\r\n document.body.classList.add(\"footer-fixed\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"footer.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"footer_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"footer_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Set the body class name based on page skin options\r\n */\r\n private initSkins() {\r\n const headerSelfTheme =\r\n objectPath.get(this.config, \"header.self.theme\") || \"\";\r\n const brandSelfTheme =\r\n objectPath.get(this.config, \"brand.self.theme\") || \"\";\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (asideSelfDisplay === false) {\r\n document.body.classList.add(`brand-${headerSelfTheme}`);\r\n } else {\r\n document.body.classList.add(`brand-${brandSelfTheme}`);\r\n }\r\n }\r\n}\r\n","import { AuthModule } from \"./../pages/auth/auth.module\";\r\nimport { NgxPermissionsModule } from \"ngx-permissions\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n// NgBootstrap\r\nimport {\r\n NgbProgressbarModule,\r\n NgbTooltipModule,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\n// Translation\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n// Loading bar\r\nimport { LoadingBarModule } from \"@ngx-loading-bar/core\";\r\n// NGRX\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\n// Ngx DatePicker\r\nimport { NgxDaterangepickerMd } from \"ngx-daterangepicker-material\";\r\n// Perfect Scrollbar\r\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\n// SVG inline\r\nimport { InlineSVGModule } from \"ng-inline-svg\";\r\n// Material\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n// Core Module\r\nimport { CoreModule } from \"../../core/core.module\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { AsideLeftComponent } from \"./aside/aside-left.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { SubheaderComponent } from \"./subheader/subheader.component\";\r\nimport { BrandComponent } from \"./brand/brand.component\";\r\nimport { TopbarComponent } from \"./header/topbar/topbar.component\";\r\nimport { MenuHorizontalComponent } from \"./header/menu-horizontal/menu-horizontal.component\";\r\nimport { PartialsModule } from \"../partials/partials.module\";\r\nimport { BaseComponent } from \"./base/base.component\";\r\nimport { PagesModule } from \"../pages/pages.module\";\r\nimport { HtmlClassService } from \"./html-class.service\";\r\nimport { HeaderMobileComponent } from \"./header/header-mobile/header-mobile.component\";\r\nimport {\r\n PermissionEffects,\r\n permissionsReducer,\r\n RoleEffects,\r\n rolesReducer,\r\n} from \"../../core/auth\";\r\nimport { PilotTasksEffects } from \"src/app/core/store/effects/pilot-tasks.effects\";\r\nimport * as fromPilotTasks from \"src/app/core/store/reducers/pilot-tasks.reducer\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n BaseComponent,\r\n FooterComponent,\r\n\r\n // headers\r\n HeaderComponent,\r\n BrandComponent,\r\n HeaderMobileComponent,\r\n\r\n // subheader\r\n SubheaderComponent,\r\n\r\n // topbar components\r\n TopbarComponent,\r\n\r\n // aside left menu components\r\n AsideLeftComponent,\r\n\r\n // horizontal menu components\r\n MenuHorizontalComponent,\r\n ],\r\n exports: [\r\n BaseComponent,\r\n FooterComponent,\r\n\r\n // headers\r\n HeaderComponent,\r\n BrandComponent,\r\n HeaderMobileComponent,\r\n\r\n // subheader\r\n SubheaderComponent,\r\n\r\n // topbar components\r\n TopbarComponent,\r\n\r\n // aside left menu components\r\n AsideLeftComponent,\r\n\r\n // horizontal menu components\r\n MenuHorizontalComponent,\r\n ],\r\n providers: [HtmlClassService],\r\n imports: [\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n libraries: [\"places\", \"drawing\", \"geometry\"],\r\n }),\r\n\r\n CommonModule,\r\n RouterModule,\r\n NgxPermissionsModule.forChild(),\r\n StoreModule.forFeature(\"roles\", rolesReducer),\r\n StoreModule.forFeature(\"permissions\", permissionsReducer),\r\n StoreModule.forFeature(\"pilotTasks\", fromPilotTasks.reducer),\r\n EffectsModule.forFeature([\r\n PermissionEffects,\r\n RoleEffects,\r\n PilotTasksEffects,\r\n ]),\r\n PagesModule,\r\n PartialsModule,\r\n CoreModule,\r\n PerfectScrollbarModule,\r\n FormsModule,\r\n MatProgressBarModule,\r\n MatTabsModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TranslateModule.forChild(),\r\n LoadingBarModule,\r\n NgxDaterangepickerMd,\r\n InlineSVGModule,\r\n\r\n // ng-bootstrap modules\r\n NgbProgressbarModule,\r\n NgbTooltipModule,\r\n ],\r\n})\r\nexport class ThemeModule {}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n isMockEnabled: false, // You have to switch this, when your real back-end is done\r\n authTokenKey: 'authce9d77b308c149d5992a80073637e4d5',\r\n api_url: \"https://api.aksata360.com/api/\"\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}