{"version":3,"mappings":"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","names":["ApTranslationsComponent","constructor","translationStore","mapViewStore","formStore","loginStore","userSettingsStore","permissionPipe","this","ApRoleTypeService","User","ApPermissions","EventEmitter","hideMapView","_subscriptions","Add","_onEdit","subscribe","event","openForm","component","ApTranslationsEditComponent","data","SourceItem","Listen","s","settings","_canTranslateCountryCodes","CountryCodes","translationsLoading$","loading","ngAfterContentInit","gridBuilder","ngOnDestroy","forEach","d","unsubscribe","onCreate","transform","columns","ApDynGridPropertyColumnConfig","field","title","headerFilterable","filterable","width","sortIndex","sortDesc","groupIndex","groupDesc","ApDynGridButtonColumnConfig","disabled","t","Contains","CountryCode","tooltip","callback","isStandardIcon","standardIcon","pager","ApDynGridPagerWizardConfig","ApDynGridPagerWizardSection","i0","selectors","ApDynComponentComponent","ctx","ApFormStyleComponent","kendoDatePipe","settingsStore","languageStore","ngOnInit","_buildForm","fieldsets","ApDynformsConfigFieldset","key","legend","config","ApDynformsConfigTextbox","label","value","textVal","ApDynformsConfigCheckbox","working","ApDynformsConfigDatepicker","format","CurrentDateFormat","ApDynformsConfigTimepicker","CurrentTimeFormat","ApDynformsConfigNumerictextbox","ApDynformsConfigPlaceholder","ApDynformsConfigComboBox","textField","valueField","options","map","v","i","text","ApDynformsConfigMultiSelect","ApDynformsConfigTextarea","rows","of","ApDynGridColumnConfigBase","super","ApDynGridColumnControlType","context","header","undefined","template","getContext","dataItem","columnContext","equals","ApGridStyleComponent","store","roundNumericPipe","elementOxideCalculate","MapViewMode","asObservable","pipe","filter","pp","Convert","organic","kValue","_elementOxidCalculate","ContentK","ApElementOxydTypeEnum","mgValue","ContentMg","pValue","ContentP","isLiquid","FindTranslationForSelectedLanguage","IsLiquid","Id","Status","Selectable","StatusClass","StatusDesc","CaOValue","ContentCaO","KValue","MGValue","NValue","ContentN","PValue","Efficiency","DMPercent","Liquid","Density","getDataFromStore","buildGrid","onClick","$event","console","log","subscriptions","push","FirstSetting$","mapViewState$","mode","ApDynGridStatusColumnConfig","class","description","hide","ApDynGridGroupColumnConfig","headerStyle","style","border","groupColumns","pipes","args","DigitsAfterDecimalPoint","ApDynGridTemplateColumnConfig","headerTemplate","cellTemplate","name","desc$","items$","items","item","Prodname","imageUrl","APP_CONFIGURATION","ApDynGridEditColumnConfig","ApDynGridPagerWizardButton","onBack","ApDynGridPagerWizardBreadcrumbsStepper","ApDynGridPagerWizardExport","edit","unit","UnitElementOxyd","ApJobsComponent","jobsStore","loadAllFarmJobs","SelectedFarmId","loading$","farmJobsLoading","allFarmJobs","job","extractStatusDesc","ScheduledAtFormatted","Schedule","ScheduledAt","ScheduledFormatted","CreatedAtDate","CreatedAt","moment","IsoDateTimeFormat","toDate","CreatedAtFormatted","CurrentDateTimeFormat","StartedAtDate","StartedAt","StartedAtFormatted","FinishedAtDate","FinishedAt","FinishedAtFormatted","LastActivityDate","LastActivityAt","LastActivityFormatted","Duration","extractDuration","IntervalFormatted","Interval","InputShortened","Input","length","substring","OutputShortened","Output","PriorityText","Priority","diff","showHeaderTitle","ApDynGridPagerConfig","showDetails","ApJobsEditComponent","ApParameterDefinitionComponent","parameterDefinitionStore","booleanPipe","parameterTypePipe","parameterRefObjectTypePipe","loadParameterDefinition","parameterDefinitionLoading$","paraDef","TypeName","_parameterTypeConverter","ParameterType","RefObjectTypeName","_parameterRefObjectTypeConverter","ParameterRefObjectType","Mandatory","_boolean","StandardIcon","Unit","ApParameterDefinitionEditComponent","checkbox","onEdit","parameterRefObjectType","parameterType","TraceLogActionsStore","Store","backend","loaded","registerObservable","LoadTraceLogActionsSuccess","Mutate","Data","SetLoadFinishState","loadTraceLogActions","SetLoadState","DispatchBackend","LoadTraceLogActions","factory","ApTraceLogActionsComponent","traceLogActionsStore","statisticStore","actions","action","JSON","stringify","Array","removeStatisticData","createStatistic","GroupBy","e","DateTime","FarmId","categories","cats","Object","keys","_list","date","count","a","Split","Find","_","statisticData","l","setStatisticData","ApStatsType","TraceLogClientStore","LoadTraceLogClientSuccess","loadTraceLogClient","LoadTraceLogClient","ApTraceLogClientComponent","traceLogClientStore","dateService","clients","client","Level","TraceLogTabs","ApTraceLogComponent","Actions","goIntoStatisticMenu","selectTab","headerComponent","reset","selectedTab","o","traceLogActionsComponent","dynComponent","_a","dynGrid","_b","filterGrid","Client","u","c","traceLogClientComponent","_c","_d","index","searchIn","ApSectionHeaderGridComponent","ApActiveUsersComponent","activeUsersStore","modalDialogStore","notificationStore","user","activeUser","Icon","MessageIcon","_buildGrid","setTimeout","_loadInterval","setInterval","refreshActiveUsers","loadActiveUsers","result","_modalDialogResult","clearInterval","kickUser","ClientIp","multiUser","ids","userId","ApUtilService","_showDialog","bind","listMassEditing","id","type","ApGridPagerType","onSubmit","ApDynGridPagerControlType","_farmId","_userId","dialog","formConfig","fieldSets","values","Title","Message","validators","show","buttons","primary","setModalDialogData","ets","Caption","formValues","Description","message","UserId","ApGuidUtil","Link","Version","WasRead","Timestamp","Date","ChangedAt","ChangedBy","CreatedBy","DeletedAt","DeletedBy","insertNotification","routes","path","canActivate","ApPermissionGuard","login","layout","PageMode","ApPageNotFoundComponent","loadChildren","Promise","then","m","ApReportsModule","ApAdministrationRoutes","RouterModule","ApAdministrationModule","ReactiveFormsModule","SplitButtonModule","ComboBoxModule","DateInputsModule","GridModule","ApCoreModule","ApTranslationModule","ApUtilsModule","CommonModule","ButtonModule","FormsModule","DropDownsModule","DropDownButtonModule","ApDynformsModule","LayoutModule","RowFilterModule","HeaderModule","BodyModule","PagerModule","FilterMenuModule","ApDynGridsModule","ApDynComponentModule","ApTooltipModule","ApResponsiveTextModule","GroupModule","ApSectionHeaderModule","ApStatusSwitchModule","ApPermissionModule"],"sources":["./src/app/administration/components/translations/ap-translations.component.ts","./src/app/administration/components/form-style/ap-form-style.component.ts","./src/app/ap-dyngrids/config/ap-dyn-grid-template-column-config.ts","./src/app/administration/components/grid-style/ap-grid-style.component.ts","./src/app/administration/components/jobs/ap-jobs.component.ts","./src/app/administration/components/parameter/ap-parameter-definition.component.ts","./src/app/stores/tracelog/actions.store.ts","./src/app/administration/components/tracelog/ap-trace-log-actions.component.ts","./src/app/stores/tracelog/client.store.ts","./src/app/administration/components/tracelog/ap-trace-log-client.component.ts","./src/app/administration/components/tracelog/ap-trace-log.component.html","./src/app/administration/components/tracelog/ap-trace-log.component.ts","./src/app/administration/components/active-users/ap-active-users.component.ts","./src/app/administration/ap-administration.routes.ts","./src/app/administration/ap-administration.module.ts"],"sourcesContent":["import {AfterContentInit, Component, EventEmitter, OnDestroy, ViewChild} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {IApPermissionData, IGridData} from '../../../ap-interface';\nimport {ApPermissions} from 'invoker-transport';\nimport {\n ApTranslationsEditComponent\n} from '../../../entry-components/ap-administration-entry-components/ap-translations-edit.component';\nimport {\n ApDynComponentComponent\n} from '../../../ap-dyncomponent/ap-dyncomponent.component';\nimport {\n ApDynGridColumnConfigBase\n} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {\n ApDynGridPagerConfigBase\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config-base';\nimport {\n ApDynGridPropertyColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {\n ApDynGridPagerWizardConfig,\n ApDynGridPagerWizardSection\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-wizard-config';\nimport {FormStore} from '../../../stores/layout/form.store';\nimport {MapViewStore} from '../../../stores/layout/mapview.store';\nimport {\n TranslationStore\n} from '../../../stores/translation/translation.store';\nimport {LoginStore} from '../../../stores/login/login.store';\nimport {\n UserSettingsStore\n} from '../../../stores/settings/usersettings.store';\nimport {\n ApDynGridButtonColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-button-column-config';\nimport {\n GetPermissionPipe\n} from '../../../ap-permission/pipes/get-permission.pipe';\nimport ITranslation = Data.Language.ITranslation;\nimport {\n ApRoleTypeService\n} from '../../../services/common/ap-role-type.service';\n\ninterface ITranslationGridData extends IGridData {\n Id: any;\n StandardIcon: string;\n}\n\n@Component({\n selector: 'ap-translations',\n template: `\n `\n})\nexport class ApTranslationsComponent implements AfterContentInit, OnDestroy {\n @ViewChild(ApDynComponentComponent, {static: true}) dynComponent: ApDynComponentComponent;\n columns: ApDynGridColumnConfigBase[] = [];\n items$: Observable;\n pager: ApDynGridPagerConfigBase;\n translationsLoading$: Observable;\n canCreate = ApRoleTypeService.hasAgriconRole(this.loginStore.User);\n public ApPermissions = ApPermissions;\n public apPermissionData: IApPermissionData;\n private _onEdit = new EventEmitter();\n private _subscriptions: Array = [];\n private _canTranslateCountryCodes: Array = [];\n\n constructor(private translationStore: TranslationStore,\n private mapViewStore: MapViewStore,\n private formStore: FormStore,\n private loginStore: LoginStore,\n private userSettingsStore: UserSettingsStore,\n private permissionPipe: GetPermissionPipe) {\n this.mapViewStore.hideMapView();\n this._subscriptions.Add(this._onEdit.subscribe(event => {\n this.formStore.openForm({component: ApTranslationsEditComponent, data: event.SourceItem});\n }));\n this._subscriptions.Add(this.userSettingsStore.Listen(s => s.data).subscribe(settings => {\n if (!settings) {\n return;\n }\n this._canTranslateCountryCodes = settings.CountryCodes;\n }));\n this.translationsLoading$ = this.translationStore.Listen(s => s.loading);\n /*this.items$ = this.translationStore.Listen(s => s.data).pipe(\n filter(d => !!d),\n map(d => Object.values(d).Convert(translation => {\n return {\n Id: translation.Id,\n SourceItem: translation,\n StandardIcon: 'edit'\n };\n })));*/\n }\n\n ngAfterContentInit(): void {\n this.gridBuilder();\n }\n\n ngOnDestroy(): void {\n this._subscriptions.forEach(d => {\n d.unsubscribe();\n });\n }\n\n onCreate(): void {\n this.formStore.openForm({component: ApTranslationsEditComponent, data: null});\n }\n\n private gridBuilder(): void {\n this.permissionPipe.transform(ApPermissions.EDIT_TRANSLATIONS).subscribe(() => {\n this.columns = [\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Modul',\n title: 'Global__Module',\n headerFilterable: true,\n filterable: true,\n width: 50\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.CountryCode',\n title: 'Admin_Pages_Popups__Language',\n filterable: true,\n width: 50,\n headerFilterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.TranslationKey',\n title: 'Admin_Pages__Keys',\n filterable: true,\n width: 50,\n headerFilterable: true,\n sortIndex: 0,\n sortDesc: true,\n groupIndex: 0,\n groupDesc: false\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.translation',\n title: 'Global_Translation',\n filterable: true,\n width: 50,\n headerFilterable: true,\n }),\n new ApDynGridButtonColumnConfig(\n {\n disabled: (t) => !this._canTranslateCountryCodes.Contains(t.SourceItem.CountryCode),\n tooltip: 'Global__Edit',\n callback: this._onEdit,\n isStandardIcon: true,\n standardIcon: 'StandardIcon'\n }\n )\n ];\n });\n this.pager = new ApDynGridPagerWizardConfig(\n new ApDynGridPagerWizardSection(),\n new ApDynGridPagerWizardSection(),\n new ApDynGridPagerWizardSection()\n );\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ApDynformsConfigFieldset} from '../../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {ApDynformsConfigTextbox} from '../../../ap-dynforms/config/ap-dynforms-config-textbox';\nimport {ApDynformsConfigCheckbox} from '../../../ap-dynforms/config/ap-dynforms-config-checkbox';\nimport {ApDynformsConfigDatepicker} from '../../../ap-dynforms/config/ap-dynforms-config-datepicker';\nimport {ApDynformsConfigNumerictextbox} from '../../../ap-dynforms/config/ap-dynforms-config-numerictextbox';\nimport {ApDynformsConfigComboBox} from '../../../ap-dynforms/config/ap-dynforms-config-combobox';\nimport {ApDynformsConfigMultiSelect} from '../../../ap-dynforms/config/ap-dynforms-config-multiselect';\nimport {GetKendoDateFormatPipe} from '../../../ap-utils/pipes/get-kendo-date-format.pipe';\nimport {ApDynformsConfigTimepicker} from '../../../ap-dynforms/config/ap-dynforms-config-timepicker';\nimport {ApDynformsConfigPlaceholder} from '../../../ap-dynforms/config/ap-dynforms-config-placeholder';\nimport {of} from 'rxjs';\nimport {ApDynformsConfigTextarea} from '../../../ap-dynforms/config/ap-dynforms-config-textarea';\nimport {SettingsStore} from '../../../stores/base-data/settings.store';\nimport {LanguageStore} from '../../../stores/translation/language.store';\n\n@Component({\n selector: 'ap-form-style',\n template: `\n \n
\n \n
\n
`,\n})\nexport class ApFormStyleComponent implements OnInit {\n fieldsets: ApDynformsConfigFieldset[] = [];\n textVal = 'a simple text';\n working = true;\n\n constructor(private kendoDatePipe: GetKendoDateFormatPipe,\n private settingsStore: SettingsStore,\n private languageStore: LanguageStore) {\n }\n\n ngOnInit(): void {\n this._buildForm();\n }\n\n private _buildForm(): void {\n this.fieldsets = [\n new ApDynformsConfigFieldset({\n key: 'Fieldset',\n legend: 'Fieldset',\n columns: 2,\n config: [\n new ApDynformsConfigTextbox({\n key: 'TextBox',\n label: 'TextBox',\n value: this.textVal,\n }),\n new ApDynformsConfigCheckbox({\n key: 'Bool',\n label: 'Bool',\n value: this.working,\n }),\n new ApDynformsConfigDatepicker({\n key: 'Date',\n label: 'Date',\n format: this.kendoDatePipe.transform(this.languageStore.CurrentDateFormat)\n }),\n new ApDynformsConfigTimepicker({\n key: 'Time',\n label: 'Time',\n format: this.kendoDatePipe.transform(this.languageStore.CurrentTimeFormat)\n }),\n new ApDynformsConfigNumerictextbox({\n key: 'Number',\n label: 'Number',\n }),\n new ApDynformsConfigPlaceholder(),\n new ApDynformsConfigComboBox({\n key: 'ComboBox',\n label: 'ComboBox',\n textField: 'text',\n valueField: 'value',\n options: ['eins', 'zwei', 'drei', 'vier', 'fünf', 'sechs', 'sieben', 'acht', 'neun', 'zehn'].map((v, i) => ({text: v, value: i + 1})),\n }),\n new ApDynformsConfigMultiSelect({\n key: 'MultiSelect',\n label: 'MultiSelect',\n options: ['eins', 'zwei', 'drei', 'vier', 'fünf', 'sechs', 'sieben', 'acht', 'neun', 'zehn'],\n }),\n new ApDynformsConfigTextarea({\n key: 'TextArea',\n label: 'TextArea',\n rows: 7\n }),\n new ApDynformsConfigComboBox({\n key: 'ComboBoxLoading',\n label: 'ComboBoxLoading',\n loading: of(true),\n options: ['eins', 'zwei', 'drei', 'vier', 'fünf', 'sechs', 'sieben', 'acht', 'neun', 'zehn'],\n })\n ],\n })\n ];\n }\n}\n","import {\n ApDynGridColumnConfigBase,\n ApDynGridColumnControlType,\n ApDynGridColumnHideConfig,\n IPipeDefinition\n} from './ap-dyn-grid-column-config-base';\nimport {TemplateRef} from '@angular/core';\n\nexport class ApDynGridTemplateColumnConfig extends ApDynGridColumnConfigBase {\n type = ApDynGridColumnControlType.Template;\n\n context: any;\n header: TemplateRef;\n template: TemplateRef;\n\n constructor(options: {\n context?: any,\n header?: TemplateRef,\n template?: TemplateRef,\n hide?: boolean | ApDynGridColumnHideConfig,\n sortIndex?: number,\n sortDesc?: boolean,\n groupIndex?: number,\n groupDesc?: boolean,\n headerStyle?: any,\n style?: any,\n width?: number,\n pdfExport?: boolean,\n xlsExport?: boolean,\n enable?: boolean,\n cssClass?: 'left' | 'right',\n pipes?: IPipeDefinition[],\n tooltipPipes?: IPipeDefinition[],\n } = {}) {\n super(options);\n this.context = options.context ? options.context : {};\n this.header = options.header ? options.header : undefined;\n this.template = options.template ? options.template : undefined;\n }\n\n getContext(dataItem?): any {\n if (dataItem) {\n return {\n dataItem,\n columnContext: this.context\n };\n } else {\n return {\n columnContext: this.context\n };\n }\n }\n\n equals(config: ApDynGridColumnConfigBase): boolean {\n return false;\n }\n}\n","import {Component, EventEmitter, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {ApElementOxydTypeEnum, IGridData, MapViewMode} from '../../../ap-interface';\nimport {\n ApDynGridColumnConfigBase\n} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {\n ApDynGridStatusColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-status-column-config';\nimport {\n ApDynGridPropertyColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {\n ApDynGridGroupColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-group-column-config';\nimport {\n ApDynGridEditColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-edit-column-config';\nimport {\n ApDynGridPagerWizardBreadcrumbsStepper,\n ApDynGridPagerWizardButton,\n ApDynGridPagerWizardConfig,\n ApDynGridPagerWizardExport\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-wizard-config';\nimport {SortDescriptor} from '@progress/kendo-data-query';\nimport {\n ApDynGridButtonColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-button-column-config';\nimport {APP_CONFIGURATION} from '../../../ap-core/config';\nimport {\n SettingsStore\n} from '../../../stores/base-data/settings.store';\nimport {\n FertilizerOrganicStore\n} from '../../../stores/base-data/fertilizer.organic.store';\nimport {filter, map} from 'rxjs/operators';\nimport {GetElementOxidCalculatePipe, GetRoundNumericPipe} from '../../../ap-utils';\nimport {MapViewStore} from '../../../stores/layout/mapview.store';\nimport {\n TranslationStore\n} from '../../../stores/translation/translation.store';\nimport {\n ApDynGridTemplateColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-template-column-config';\nimport IFertilizerOrganic = Data.BaseData.IFertilizerOrg;\n\ninterface IFertilizerOrganicGridData extends IGridData {\n Status: number;\n StatusClass: string;\n StatusDesc: string;\n CaOValue: any;\n KValue: any;\n MGValue: any;\n NValue: any;\n PValue: any;\n Efficiency: any;\n DMPercent: any;\n Liquid: any;\n Density: any;\n}\n\n@Component({\n selector: 'ap-grid-style',\n template: `\n \n \n \n

{{ columnContext.name }}

\n \"\"\n
\n \n \n

{{ columnContext.name }}

\n

Name {{ dataItem.SourceItem.Prodname }}

\n \n
\n
\n `,\n})\nexport class ApGridStyleComponent implements OnInit, OnDestroy {\n @ViewChild('header', {static: true}) headerTemplate: TemplateRef;\n @ViewChild('cell', {static: true}) cellTemplate: TemplateRef;\n\n public subscriptions = [];\n public columns: ApDynGridColumnConfigBase[];\n public pager: any;\n public settings;\n public sort: SortDescriptor[];\n public mapViewModes = MapViewMode;\n public mapViewState$: Observable;\n fertilizerOrganicLoading$ = this.store.Listen(s => s.loading).asObservable();\n items$ = this.store.Listen(s => s.data).pipe(\n filter(d => !!d),\n map(pp => pp.Convert((organic: IFertilizerOrganic) => {\n const kValue = this._elementOxidCalculate(organic.ContentK, ApElementOxydTypeEnum.K);\n const mgValue = this._elementOxidCalculate(organic.ContentMg, ApElementOxydTypeEnum.Mg);\n const pValue = this._elementOxidCalculate(organic.ContentP, ApElementOxydTypeEnum.P);\n const isLiquid = organic.IsLiquid ? this.translationStore.FindTranslationForSelectedLanguage('Global__Aggregate_State_Liquid')\n : this.translationStore.FindTranslationForSelectedLanguage('Global__Aggregate_State_Solid');\n return {\n Id: organic.Id,\n SourceItem: organic,\n Status: organic.Selectable ? 1 : -1,\n StatusClass: organic.Selectable ? 'ap-status-green' : 'ap-status-red',\n StatusDesc: organic.Selectable ? 'Global__Active' : 'Global__Inactive',\n CaOValue: organic.ContentCaO,\n KValue: kValue,\n MGValue: mgValue,\n NValue: organic.ContentN,\n PValue: pValue,\n Efficiency: organic.Efficiency,\n DMPercent: organic.DMPercent,\n Liquid: isLiquid,\n Density: organic.Density\n };\n })));\n private onBack = new EventEmitter();\n private onClick = new EventEmitter();\n\n constructor(private store: FertilizerOrganicStore,\n private mapViewStore: MapViewStore,\n private settingsStore: SettingsStore,\n private translationStore: TranslationStore,\n private roundNumericPipe: GetRoundNumericPipe,\n private elementOxideCalculate: GetElementOxidCalculatePipe) {\n this.mapViewStore.hideMapView();\n }\n\n ngOnInit(): void {\n this.getDataFromStore();\n this.buildGrid();\n\n this.onClick.subscribe($event => {\n console.log($event);\n });\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(d => {\n d.unsubscribe();\n });\n }\n\n getDataFromStore(): void {\n this.subscriptions.push(this.settingsStore.FirstSetting$.subscribe(s => this.settings = s));\n this.mapViewState$ = this.mapViewStore.Listen(s => s.mode);\n }\n\n buildGrid(): void {\n this.columns = [\n new ApDynGridStatusColumnConfig({\n field: 'Selectable', class: 'SelectableClass', description: 'SelectableDesc',\n sortIndex: 1, filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Shortname', title: 'Global__Token', sortIndex: 2, sortDesc: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Description', title: 'Global__Name', hide: true\n }),\n new ApDynGridGroupColumnConfig({\n headerStyle: {\n 'text-align': 'center'\n },\n style: {border: '1px solid #2c3237'},\n title: 'Global__Contents_Percent',\n groupColumns: [\n new ApDynGridPropertyColumnConfig({\n field: 'CaOValue', title: 'Global__NutrientCaO',\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'KValue', title: 'Global__NutrientK',\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'MGValue', title: 'Global__NutrientMg',\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'NValue', title: 'Global__NutrientN',\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'PValue', title: 'Global__NutrientP',\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n ]\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Efficiency', title: 'Settings__Lbl_NEffectiveness', hide: true,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'DMPercent', title: 'Global__Drymatter', hide: true,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Liquid', title: 'Global__Aggregate', hide: true, filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Density', title: 'Global__Density', hide: true,\n pipes: [\n {\n pipe: this.roundNumericPipe,\n args: [this.settings.DigitsAfterDecimalPoint]\n }\n ]\n }),\n new ApDynGridTemplateColumnConfig({\n header: this.headerTemplate,\n template: this.cellTemplate,\n context: {\n name: 'COLUMN CONTEXT',\n desc$: this.items$.pipe(map((items) => items.map((item) => item.SourceItem.Prodname)))\n }\n }),\n new ApDynGridButtonColumnConfig({\n callback: this.onClick, imageUrl: APP_CONFIGURATION.ButtonZoomToMapImage\n }),\n new ApDynGridEditColumnConfig({}),\n ];\n\n this.pager = new ApDynGridPagerWizardConfig(\n new ApDynGridPagerWizardButton('Global_Back_With_Arrow', this.onBack),\n new ApDynGridPagerWizardBreadcrumbsStepper(['Admin_Pages__Overview', 'Global__Details'], 1),\n new ApDynGridPagerWizardExport(),\n );\n }\n\n public edit(dataItem): void {\n console.log(dataItem);\n }\n\n private _elementOxidCalculate(value: number, unit: ApElementOxydTypeEnum): number {\n return this.elementOxideCalculate.transform(\n value, unit, this.settings.UnitElementOxyd\n );\n }\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {IGridData} from '../../../ap-interface';\nimport {ApDynGridColumnConfigBase} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {ApDynGridStatusColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-status-column-config';\nimport {ApDynGridPropertyColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {SortDescriptor} from '@progress/kendo-data-query';\nimport {ApDynGridPagerConfigBase} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config-base';\nimport {ApDynGridEditColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-edit-column-config';\nimport {\n ApJobsEditComponent\n} from '../../../entry-components/ap-administration-entry-components/ap-jobs-edit.component';\nimport {JobsStore} from '../../../stores/administration/jobs.store';\nimport {filter, map} from 'rxjs/operators';\nimport {FormStore} from '../../../stores/layout/form.store';\nimport {MapViewStore} from '../../../stores/layout/mapview.store';\nimport {LanguageStore} from '../../../stores/translation/language.store';\nimport {TranslationStore} from '../../../stores/translation/translation.store';\nimport * as moment from 'moment';\nimport {ApDynGridPagerConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config';\nimport IJobs = Data.Job.IJobs;\nimport {LoginStore} from '../../../stores/login/login.store';\n\ninterface IJobsGridData extends IGridData {\n Status: any;\n StatusClass: any;\n StatusDesc: any;\n ScheduledAtFormatted: any;\n ScheduledFormatted: any;\n CreatedAtDate: any;\n CreatedAtFormatted: any;\n StartedAtDate: any;\n StartedAtFormatted: any;\n FinishedAtDate: any;\n FinishedAtFormatted: any;\n LastActivityDate: any;\n LastActivityFormatted: any;\n Duration: any;\n IntervalFormatted: any;\n InputShortened: any;\n OutputShortened: any;\n PriorityText: any;\n}\n\n@Component({\n selector: 'ap-jobs',\n template: `\n `,\n})\nexport class ApJobsComponent implements OnInit, OnDestroy {\n public loading$: Observable;\n public subscriptions = [];\n public columns: ApDynGridColumnConfigBase[];\n public items$: Observable;\n public pager: ApDynGridPagerConfigBase;\n public sort: SortDescriptor[];\n\n /**\n * Constructor\n */\n constructor(private jobsStore: JobsStore,\n private formStore: FormStore,\n private loginStore: LoginStore,\n private mapViewStore: MapViewStore,\n private languageStore: LanguageStore,\n private translationStore: TranslationStore) {\n this.mapViewStore.hideMapView();\n this.jobsStore.loadAllFarmJobs(this.loginStore.SelectedFarmId, 90);\n this.loading$ = this.jobsStore.Listen(s => s.farmJobsLoading);\n this.items$ = this.jobsStore.Listen(s => s.allFarmJobs).pipe(\n filter(d => !!d),\n map(d => d.Convert(job => {\n return {\n Id: job.Id,\n SourceItem: job,\n Status: job.Status,\n StatusClass: job.Status === -1 ? 'ap-status-red' : job.Status === 2 ? 'ap-status-green' : 'ap-status-yellow',\n StatusDesc: ApJobsComponent.extractStatusDesc(job),\n ScheduledAtFormatted: job.Schedule && job.Schedule.ScheduledAt ? job.Schedule.ScheduledAt : '-',\n ScheduledFormatted: job.Schedule && job.Schedule.Id ?\n this.translationStore.FindTranslationForSelectedLanguage('LabelYes') :\n this.translationStore.FindTranslationForSelectedLanguage('LabelNo'),\n CreatedAtDate: job.CreatedAt ? moment(job.CreatedAt, this.languageStore.IsoDateTimeFormat).toDate() : null,\n CreatedAtFormatted: job.CreatedAt ? moment(job.CreatedAt, this.languageStore.IsoDateTimeFormat)\n .format(this.languageStore.CurrentDateTimeFormat) : '-',\n StartedAtDate: job.StartedAt ? moment(job.StartedAt, this.languageStore.IsoDateTimeFormat).toDate() : null,\n StartedAtFormatted:\n job.StartedAt ? moment(job.StartedAt, this.languageStore.IsoDateTimeFormat)\n .format(this.languageStore.CurrentDateTimeFormat) : '-',\n FinishedAtDate:\n job.FinishedAt ? moment(job.FinishedAt, this.languageStore.IsoDateTimeFormat).toDate() : null,\n FinishedAtFormatted:\n job.FinishedAt ? moment(job.FinishedAt, this.languageStore.IsoDateTimeFormat)\n .format(this.languageStore.CurrentDateTimeFormat) : '-',\n LastActivityDate:\n job.LastActivityAt ? moment(job.LastActivityAt, this.languageStore.IsoDateTimeFormat).toDate() : null,\n LastActivityFormatted: job.LastActivityAt ? moment(job.LastActivityAt, this.languageStore.IsoDateTimeFormat)\n .format(this.languageStore.CurrentDateTimeFormat) : '-',\n Duration: ApJobsComponent.extractDuration(job),\n IntervalFormatted: job.Schedule && job.Schedule.Interval ? job.Schedule.Interval : '-',\n InputShortened: job.Input && job.Input.length > 30 ? job.Input.substring(0, 30) + '...' : job.Input,\n OutputShortened: job.Output && job.Output.length > 30 ? job.Output.substring(0, 30) + '...' : job.Output,\n PriorityText: job.Priority ? job.Priority : ''\n };\n })));\n }\n\n private static extractStatusDesc(job): string {\n if (job.Status === 0) {\n return 'Global__ProcessWaiting';\n } else if (job.Status === 1) {\n return 'Data_RuleResult__Processing';\n } else if (job.Status === 2) {\n return 'Global__ProcessSuccessful';\n } else {\n return 'Global__ProcessFailed';\n }\n }\n\n private static extractDuration(job): string {\n const diff = moment(job.FinishedAt).diff(moment(job.StartedAt));\n return diff ? moment.utc(diff).format('HH:mm:ss') : '';\n }\n\n ngOnInit(): void {\n this.buildGrid();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(d => {\n d.unsubscribe();\n });\n }\n\n buildGrid(): void {\n this.columns = [\n new ApDynGridStatusColumnConfig({\n field: 'Status',\n class: 'StatusClass',\n description: 'StatusDesc',\n showHeaderTitle: false,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.JobType.Name',\n title: 'Global_Type',\n headerFilterable: true,\n filterable: true,\n width: 120\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'CreatedAtDate',\n title: 'Global__CreatedAt',\n headerFilterable: true,\n width: 150,\n format: this.languageStore.CurrentDateTimeFormat,\n sortIndex: 0,\n sortDesc: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'StartedAtDate',\n title: 'Global_Started_At',\n headerFilterable: true,\n format: this.languageStore.CurrentDateTimeFormat,\n width: 150\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'LastActivityDate',\n title: 'Global_LastActive_At',\n headerFilterable: true,\n format: this.languageStore.CurrentDateTimeFormat,\n width: 150\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'FinishedAtDate',\n title: 'Global__Finished_At',\n headerFilterable: true,\n format: this.languageStore.CurrentDateTimeFormat,\n width: 150\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Duration',\n title: 'Docu_Ini__Duration',\n headerFilterable: true,\n width: 90\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'ScheduledFormatted',\n title: 'Global_Schedule',\n headerFilterable: true,\n width: 90\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'PriorityText',\n title: 'Global_Priority',\n headerFilterable: true,\n filterable: true,\n width: 80\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'InputShortened',\n headerFilterable: true,\n title: 'Global_Input',\n hide: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'OutputShortened',\n headerFilterable: true,\n title: 'Global_Output',\n hide: true\n }),\n new ApDynGridEditColumnConfig({})\n ];\n this.pager = new ApDynGridPagerConfig({});\n }\n\n /**\n * Handler for showing job details\n * User wants to see details\n */\n public showDetails(dataItem): void {\n this.formStore.openForm({component: ApJobsEditComponent, data: dataItem});\n }\n}\n","import {AfterContentInit, Component, EventEmitter, OnDestroy, ViewChild} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {IApPermissionData, IGridData} from '../../../ap-interface';\nimport {ApPermissions} from 'invoker-transport';\nimport {ApDynComponentComponent} from '../../../ap-dyncomponent/ap-dyncomponent.component';\nimport {ApDynGridColumnConfigBase} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {ApDynGridPagerConfigBase} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config-base';\nimport {ApDynGridPropertyColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {\n ApDynGridPagerWizardConfig,\n ApDynGridPagerWizardSection\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-wizard-config';\nimport {MapViewStore} from '../../../stores/layout/mapview.store';\nimport {TranslationStore} from '../../../stores/translation/translation.store';\nimport {filter, map} from 'rxjs/operators';\nimport {ApDynGridButtonColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-button-column-config';\nimport {ParameterDefinitionStore} from '../../../stores/parameter/parameter.definition.store';\nimport {FormStore} from '../../../stores/layout/form.store';\nimport {GetPermissionPipe} from '../../../ap-permission/pipes/get-permission.pipe';\nimport {GetBooleanPipe} from '../../../ap-utils';\nimport {ApParameterDefinitionEditComponent} from '../../../entry-components/ap-administration-entry-components/ap-parameter-definition-edit.component';\nimport {GetParameterTypePipe} from '../../../stores/pipes/ap-get-parameter-type.pipe';\nimport {GetParameterRefObjectTypePipe} from '../../../stores/pipes/ap-get-parameter-ref-object-type.pipe';\nimport IParameterDefinition = Data.Parameter.IParameterDefinition;\nimport ParameterRefObjectType = Data.Parameter.Enums.ParameterRefObjectType;\nimport ParameterType = Data.Parameter.Enums.ParameterType;\n\ninterface IParameterDefinitionGridData extends IGridData {\n}\n\n@Component({\n selector: 'ap-translations',\n template: `\n `\n})\nexport class ApParameterDefinitionComponent implements AfterContentInit, OnDestroy {\n @ViewChild(ApDynComponentComponent, {static: true}) dynComponent: ApDynComponentComponent;\n columns: ApDynGridColumnConfigBase[] = [];\n items$: Observable;\n pager: ApDynGridPagerConfigBase;\n parameterDefinitionLoading$: Observable;\n public ApPermissions = ApPermissions;\n public apPermissionData: IApPermissionData;\n private _onEdit = new EventEmitter();\n private _subscriptions: Array = [];\n\n constructor(private translationStore: TranslationStore,\n private mapViewStore: MapViewStore,\n private parameterDefinitionStore: ParameterDefinitionStore,\n private formStore: FormStore,\n private permissionPipe: GetPermissionPipe,\n private booleanPipe: GetBooleanPipe,\n private parameterTypePipe: GetParameterTypePipe,\n private parameterRefObjectTypePipe: GetParameterRefObjectTypePipe) {\n this.mapViewStore.hideMapView();\n this.parameterDefinitionStore.loadParameterDefinition();\n this.parameterDefinitionLoading$ = this.parameterDefinitionStore.Listen(s => s.loading);\n this.items$ = this.parameterDefinitionStore.Listen(s => s.data).pipe(\n filter(d => !!d),\n map(d => d.Convert(paraDef => {\n return {\n Id: paraDef.Id,\n SourceItem: paraDef,\n TypeName: this._parameterTypeConverter(paraDef.ParameterType),\n RefObjectTypeName: this._parameterRefObjectTypeConverter(paraDef.ParameterRefObjectType),\n Mandatory: this._boolean(paraDef.Mandatory),\n StandardIcon: 'edit',\n Unit: paraDef.Unit !== null ? paraDef.Unit : '-'\n };\n })));\n this._subscriptions.Add(this._onEdit.subscribe(event => {\n this.formStore.openForm({component: ApParameterDefinitionEditComponent, data: event.SourceItem});\n }));\n }\n\n ngAfterContentInit(): void {\n this.gridBuilder();\n }\n\n ngOnDestroy(): void {\n this._subscriptions.forEach(d => {\n d.unsubscribe();\n });\n }\n\n onCreate(): void {\n this.formStore.openForm({component: ApParameterDefinitionEditComponent, data: null});\n }\n\n private gridBuilder(): void {\n this.permissionPipe.transform(ApPermissions.EDIT_TRANSLATIONS).subscribe(() => {\n this.columns = [\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Name',\n title: 'Global__Name',\n headerFilterable: true,\n filterable: true,\n width: 50\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.TranslationKey',\n title: 'Global_Translation_Key',\n headerFilterable: true,\n filterable: true,\n width: 50\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Description',\n title: 'Nutrients_Pages_Popups__Description',\n filterable: true,\n width: 50,\n headerFilterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'TypeName',\n title: 'Tasks_ViewModel__Type',\n filterable: true,\n width: 50,\n headerFilterable: true,\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'RefObjectTypeName',\n title: 'Global_Reference_Object',\n filterable: true,\n width: 50,\n headerFilterable: true,\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.StandardValue',\n title: 'Global_Default_Value',\n filterable: true,\n width: 50,\n headerFilterable: true,\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Unit',\n title: 'Settings__Lbl_Menu_Unit',\n filterable: true,\n width: 50,\n headerFilterable: true,\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Countries',\n title: 'Global_Countries',\n filterable: true,\n width: 50,\n headerFilterable: true,\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Mandatory',\n title: 'Global_Mandatory',\n filterable: true,\n width: 50,\n headerFilterable: true,\n checkbox: true\n }),\n new ApDynGridButtonColumnConfig(\n {\n tooltip: 'Global__Edit',\n callback: this._onEdit,\n isStandardIcon: true,\n standardIcon: 'StandardIcon'\n }\n )\n ];\n });\n this.pager = new ApDynGridPagerWizardConfig(\n new ApDynGridPagerWizardSection(),\n new ApDynGridPagerWizardSection(),\n new ApDynGridPagerWizardSection()\n );\n }\n\n onEdit(dataItem): void {\n this.formStore.openForm({component: ApParameterDefinitionEditComponent, data: dataItem.SourceItem});\n }\n\n private _parameterRefObjectTypeConverter(parameterRefObjectType: ParameterRefObjectType): string {\n return this.parameterRefObjectTypePipe.transform(parameterRefObjectType);\n }\n\n private _parameterTypeConverter(parameterType: ParameterType): string {\n return this.parameterTypePipe.transform(parameterType);\n }\n\n private _boolean(value: any): boolean {\n return this.booleanPipe.transform(value);\n }\n}\n","import {IStateStore} from '../../ap-interface/interfaces/store';\nimport {Store} from '../index';\nimport {Injectable} from '@angular/core';\nimport {LoadTraceLogActions, LoadTraceLogActionsSuccess} from 'invoker-transport';\nimport IActions = Data.Tracelog.IActions;\nimport {\n ApSignalrService\n} from '../../ap-core/services/ap-signalr.service';\n\ninterface ITraceLogActionsStore extends IStateStore {\n}\n\n@Injectable({providedIn: 'root'})\nexport class TraceLogActionsStore extends Store {\n constructor(public backend: ApSignalrService) {\n super(backend, {\n loaded: false,\n loading: false,\n data: [],\n });\n\n backend.registerObservable(LoadTraceLogActionsSuccess).subscribe(d => {\n super.Mutate(s => s.data, () => d.Data);\n super.SetLoadFinishState();\n });\n }\n\n loadTraceLogActions(): void {\n super.SetLoadState();\n super.Mutate(s => s.data, () => []);\n this.DispatchBackend(new LoadTraceLogActions([]));\n }\n}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {ApDynComponentComponent} from '../../../ap-dyncomponent/ap-dyncomponent.component';\nimport {ApDynGridColumnConfigBase} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {ApDynGridPagerConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config';\nimport {TraceLogActionsStore} from '../../../stores/tracelog/actions.store';\nimport {filter, map} from 'rxjs/operators';\nimport {ApStatsType, IGridData} from '../../../ap-interface';\nimport {ApDynGridPropertyColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {LanguageStore} from '../../../stores/translation/language.store';\nimport {StatisticStore} from '../../../stores/statistic/statistic.store';\nimport {\n IDatetimeSelectionChartData\n} from '../../../ap-interface/interfaces/charts/ap-datetime-selection-chart-data.interface';\nimport * as moment from 'moment';\nimport IActions = Data.Tracelog.IActions;\n\ninterface ITraceLogActionsGridData extends IGridData {\n}\n\n@Component({\n selector: 'ap-trace-log-actions',\n template: `\n \n `\n})\n\nexport class ApTraceLogActionsComponent implements OnInit, OnDestroy {\n @ViewChild(ApDynComponentComponent, {static: true}) dynComponent;\n\n traceLogActionsLoading$ = this.traceLogActionsStore.Listen(s => s.loading);\n items$ = this.traceLogActionsStore.Listen(s => s.data).pipe(\n filter(d => !!d),\n map(actions => actions.Convert((action: IActions) => ({\n Id: action.Id,\n SourceItem: action,\n Data: action.Data ? JSON.stringify(action.Data) : ''\n }))),\n );\n columns: ApDynGridColumnConfigBase[];\n pager: ApDynGridPagerConfig;\n\n private _list = Array<{ date: string, count: number }>();\n\n constructor(private traceLogActionsStore: TraceLogActionsStore,\n private languageStore: LanguageStore,\n private statisticStore: StatisticStore) {\n }\n\n ngOnInit(): void {\n this.statisticStore.removeStatisticData();\n this.traceLogActionsStore.loadTraceLogActions();\n this.gridBuilder();\n this.createStatistic();\n }\n\n ngOnDestroy(): void {\n this.statisticStore.removeStatisticData();\n }\n\n createStatistic(): void {\n this.traceLogActionsStore.Listen(s => s.loaded).subscribe(loaded => {\n if (!loaded) {\n return;\n }\n this.traceLogActionsStore.Listen(s => s.data).subscribe(d => {\n if (!d) {\n return;\n }\n if (d.length < 1) {\n return;\n }\n const v = d.GroupBy(e => `${e.DateTime}_${e.FarmId}`);\n const categories = d.GroupBy(e => e.DateTime);\n const cats = Object.keys(categories);\n for (let i = cats.length - 1; i >= 0; --i) {\n this._list.push({\n date: cats[i],\n count: 0\n });\n }\n const z = Object.keys(v);\n z.forEach(i => {\n const a = i.Split('_');\n const found = this._list.Find(_ => _.date === a[0]);\n found.count++;\n });\n\n const statisticData: Array = [];\n this._list.forEach(l => {\n const item = {\n date: moment(l.date).format('DD.MM.YYYY'),\n count: l.count\n } as IDatetimeSelectionChartData;\n statisticData.push(item);\n });\n this.statisticStore.setStatisticData(statisticData, ApStatsType.DateTimeSelection, 'Betriebe pro Tag');\n });\n });\n }\n\n\n gridBuilder(): void {\n this.columns = [\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Id', title: 'Id',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.FarmId', title: 'FarmId',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.UserId', title: 'UserId',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.ClientIp', title: 'ClientIp',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Year', title: 'Year',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.DateTime', title: 'DateTime',\n headerFilterable: true, format: this.languageStore.CurrentDateTimeFormat,\n sortDesc: true, sortIndex: 0,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.TimeStamp', title: 'TimeStamp',\n headerFilterable: true, format: this.languageStore.CurrentDateTimeFormat,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Message', title: 'Message',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'Data', title: 'Data',\n headerFilterable: true,\n filterable: true\n }),\n ];\n\n this.pager = new ApDynGridPagerConfig();\n }\n}\n","import {IStateStore} from '../../ap-interface/interfaces/store';\nimport {Store} from '../index';\nimport {Injectable} from '@angular/core';\nimport {LoadTraceLogClient, LoadTraceLogClientSuccess} from 'invoker-transport';\nimport IClient = Data.Tracelog.IClient;\nimport {\n ApSignalrService\n} from '../../ap-core/services/ap-signalr.service';\n\ninterface ITraceLogClientStore extends IStateStore {\n}\n\n@Injectable({providedIn: 'root'})\nexport class TraceLogClientStore extends Store {\n constructor(public backend: ApSignalrService) {\n super(backend, {\n loaded: false,\n loading: false,\n data: [],\n });\n\n backend.registerObservable(LoadTraceLogClientSuccess).subscribe(d => {\n super.Mutate(s => s.data, () => d.Data);\n super.SetLoadFinishState();\n });\n }\n\n loadTraceLogClient(): void {\n super.SetLoadState();\n super.Mutate(s => s.data, () => []);\n this.DispatchBackend(new LoadTraceLogClient([]));\n }\n}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {ApDynComponentComponent} from '../../../ap-dyncomponent/ap-dyncomponent.component';\nimport {ApDynGridColumnConfigBase} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {ApDynGridPagerConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config';\nimport {filter, map} from 'rxjs/operators';\nimport {ApStatsType, IGridData} from '../../../ap-interface';\nimport {ApDynGridPropertyColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {TraceLogClientStore} from '../../../stores/tracelog/client.store';\nimport {LanguageStore} from '../../../stores/translation/language.store';\nimport {ApDynGridStatusColumnConfig} from '../../../ap-dyngrids/config/ap-dyn-grid-status-column-config';\nimport {\n IDatetimeSelectionChartData\n} from '../../../ap-interface/interfaces/charts/ap-datetime-selection-chart-data.interface';\nimport {ApDateService} from '../../../ap-core/services/ap-date-service';\nimport {StatisticStore} from '../../../stores/statistic/statistic.store';\nimport * as moment from 'moment';\nimport IClient = Data.Tracelog.IClient;\n\ninterface ITraceLogClientGridData extends IGridData {\n Status: any;\n StatusClass: any;\n StatusDesc: any;\n}\n\n@Component({\n selector: 'ap-trace-log-client',\n template: `\n \n `\n})\n\nexport class ApTraceLogClientComponent implements OnInit, OnDestroy {\n @ViewChild(ApDynComponentComponent, {static: true}) dynComponent;\n\n traceLogClientLoading$ = this.traceLogClientStore.Listen(s => s.loading);\n items$ = this.traceLogClientStore.Listen(s => s.data).pipe(\n filter(d => !!d),\n map(clients => clients.Convert((client: IClient) => ({\n Id: client.Id,\n SourceItem: client,\n Status: client.Level === 'error' ? -1 : client.Level === 'warning' ? 1 : 0,\n StatusClass: client.Level === 'error' ? 'ap-status-red' : client.Level === 'warning' ? 'ap-status-yellow' : 'ap-status-green',\n StatusDesc: client.Level === 'error' ? 'Error' : client.Level === 'warning' ? 'Warning' : client.Level,\n }))),\n );\n columns: ApDynGridColumnConfigBase[];\n pager: ApDynGridPagerConfig;\n\n private _list = Array<{ date: string, count: number }>();\n\n constructor(private traceLogClientStore: TraceLogClientStore,\n private languageStore: LanguageStore,\n private dateService: ApDateService,\n private statisticStore: StatisticStore) {\n }\n\n ngOnInit(): void {\n this.statisticStore.removeStatisticData();\n this.traceLogClientStore.loadTraceLogClient();\n this.gridBuilder();\n this.createStatistic();\n }\n\n ngOnDestroy(): void {\n this.statisticStore.removeStatisticData();\n }\n\n gridBuilder(): void {\n this.columns = [\n new ApDynGridStatusColumnConfig({\n field: 'Status',\n class: 'StatusClass',\n description: 'StatusDesc',\n showHeaderTitle: false,\n filterable: true,\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Id', title: 'Id',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Level', title: 'Level',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.DateTime', title: 'DateTime',\n headerFilterable: true, format: this.languageStore.CurrentDateTimeFormat,\n sortDesc: true, sortIndex: 0,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Timestamp', title: 'Timestamp',\n headerFilterable: true, format: this.languageStore.CurrentDateTimeFormat,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Message', title: 'Message',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.ClientIp', title: 'ClientIp',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.State', title: 'State',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.Meta', title: 'Meta',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.FarmId', title: 'FarmId',\n headerFilterable: true,\n filterable: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.StackTrace', title: 'StackTrace',\n headerFilterable: true,\n filterable: true\n }),\n ];\n\n this.pager = new ApDynGridPagerConfig();\n }\n\n createStatistic(): void {\n this.traceLogClientStore.Listen(s => s.loaded).subscribe(loaded => {\n if (!loaded) {\n return;\n }\n this.traceLogClientStore.Listen(s => s.data).subscribe(d => {\n if (!d) {\n return;\n }\n if (d.length < 1) {\n return;\n }\n const v = d.GroupBy(e => `${e.DateTime}_${e.FarmId}`);\n const categories = d.GroupBy(e => e.DateTime);\n const cats = Object.keys(categories);\n for (let i = cats.length - 1; i >= 0; --i) {\n this._list.push({\n date: cats[i],\n count: 0\n });\n }\n const z = Object.keys(v);\n z.forEach(i => {\n const a = i.Split('_');\n const found = this._list.Find(_ => _.date === a[0]);\n found.count++;\n });\n\n const statisticData: Array = [];\n this._list.forEach(l => {\n const item = {\n date: moment(l.date).format('DD.MM.YYYY'),\n count: l.count\n } as IDatetimeSelectionChartData;\n statisticData.push(item);\n });\n this.statisticStore.setStatisticData(statisticData, ApStatsType.DateTimeSelection, 'Betriebe pro Tag');\n });\n });\n }\n}\n","\n \n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n","import {ChangeDetectionStrategy, Component, ViewChild} from '@angular/core';\nimport {ApTraceLogActionsComponent} from './ap-trace-log-actions.component';\nimport {ApTraceLogBackendComponent} from './ap-trace-log-backend.component';\nimport {ApTraceLogClientComponent} from './ap-trace-log-client.component';\nimport {ApSectionHeaderGridComponent} from '../../../ap-section-header/components/ap-section-header-grid/ap-section-header-grid.component';\nimport {MapViewStore} from '../../../stores/layout/mapview.store';\nimport {StatisticStore} from '../../../stores/statistic/statistic.store';\n\nexport enum TraceLogTabs {\n Actions = 0,\n Backend = 1,\n Client = 2\n}\n\n@Component({\n selector: 'ap-trace-log',\n templateUrl: 'ap-trace-log.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class ApTraceLogComponent {\n\n @ViewChild(ApTraceLogActionsComponent, {static: false})\n public traceLogActionsComponent: ApTraceLogActionsComponent;\n\n @ViewChild(ApTraceLogClientComponent, {static: false})\n public traceLogClientComponent: ApTraceLogClientComponent;\n\n @ViewChild(ApSectionHeaderGridComponent, {static: false})\n private headerComponent: ApSectionHeaderGridComponent;\n\n public selectedTab: TraceLogTabs = TraceLogTabs.Actions;\n\n constructor(private mapViewStore: MapViewStore,\n private statisticStore: StatisticStore) {\n this.mapViewStore.goIntoStatisticMenu();\n }\n\n public selectTab(e): void {\n this.headerComponent.reset();\n this.statisticStore.removeStatisticData();\n switch (this.selectedTab) {\n case TraceLogTabs.Actions:\n this.traceLogActionsComponent.dynComponent?.dynGrid?.filterGrid('');\n break;\n case TraceLogTabs.Client:\n this.traceLogClientComponent.dynComponent?.dynGrid?.filterGrid('');\n break;\n }\n this.selectedTab = e.index;\n }\n\n public searchIn(value: string): void {\n switch (this.selectedTab) {\n case TraceLogTabs.Actions:\n this.traceLogActionsComponent.dynComponent?.dynGrid?.filterGrid(value);\n break;\n case TraceLogTabs.Client:\n this.traceLogClientComponent.dynComponent?.dynGrid?.filterGrid(value);\n break;\n }\n }\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {ApGridPagerType, IGridData} from '../../../ap-interface';\nimport {\n ApDynGridColumnConfigBase\n} from '../../../ap-dyngrids/config/ap-dyn-grid-column-config-base';\nimport {\n ApDynGridPropertyColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-property-column-config';\nimport {SortDescriptor} from '@progress/kendo-data-query';\nimport {\n ApDynGridPagerConfigBase,\n ApDynGridPagerControlType\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config-base';\nimport {\n MapViewStore\n} from '../../../stores/layout/mapview.store';\nimport {\n LanguageStore\n} from '../../../stores/translation/language.store';\nimport {filter, map} from 'rxjs/operators';\nimport {\n ActiveUsersStore\n} from '../../../stores/administration/active-users.store';\nimport {\n ApDynGridButtonColumnConfig\n} from '../../../ap-dyngrids/config/ap-dyn-grid-button-column-config';\nimport {\n ApUtilService\n} from '../../../ap-utils/service/ap-util.service';\nimport {\n ApDynGridPagerConfig,\n IDynGridWizardChoiceData,\n IGridPagerSubmitData\n} from '../../../ap-dyngrids/config/ap-dyn-grid-pager-config';\nimport {\n ModalDialogStore\n} from '../../../stores/dialog/modal.dialog.store';\nimport {\n IModalDialogData,\n IModalDialogResult\n} from '../../../ap-interface/interfaces/ap-modaldialog-data.interface';\nimport {\n NotificationStore\n} from '../../../stores/common/notification.store';\nimport {\n ApDynformsConfigFieldset\n} from '../../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {ApGuidUtil} from '../../../ap-utils';\nimport {\n ApDynformsConfigTextbox\n} from '../../../ap-dynforms/config/ap-dynforms-config-textbox';\nimport {LoginStore} from '../../../stores/login/login.store';\nimport IActiveUser = Data.Authentication.IActiveUser;\nimport INotifications = Data.Common.INotifications;\n\ninterface IActiveUserGridData extends IGridData {\n Icon: string;\n MessageIcon: string;\n}\n\n@Component({\n selector: 'ap-active-users',\n template: `\n `,\n})\nexport class ApActiveUsersComponent implements OnInit, OnDestroy {\n public loading$: Observable;\n public subscriptions = [];\n public columns: ApDynGridColumnConfigBase[];\n public items$: Observable;\n public pager: ApDynGridPagerConfigBase;\n public sort: SortDescriptor[];\n\n private _loadInterval: any;\n private _farmId: number;\n private _userId: number;\n\n /**\n * Constructor\n */\n constructor(private loginStore: LoginStore,\n private activeUsersStore: ActiveUsersStore,\n private mapViewStore: MapViewStore,\n private languageStore: LanguageStore,\n private modalDialogStore: ModalDialogStore,\n private notificationStore: NotificationStore) {\n this.mapViewStore.hideMapView();\n this.loading$ = this.activeUsersStore.Listen(s => s.loading);\n this.items$ = this.activeUsersStore.Listen(s => s.data).pipe(\n filter(d => !!d && !!this.loginStore.SelectedFarmId),\n map(d => d.filter(user => user.FarmId === this.loginStore.SelectedFarmId).map(activeUser => {\n const user: IActiveUserGridData = {\n Id: activeUser.User.Id,\n Icon: 'logout',\n SourceItem: activeUser,\n MessageIcon: 'email'\n };\n return user;\n })));\n }\n\n public ngOnInit(): void {\n this._buildGrid();\n setTimeout(() => {\n this._loadInterval = setInterval(() => {\n this.activeUsersStore.refreshActiveUsers();\n }, 5000);\n }, 5000);\n this.activeUsersStore.loadActiveUsers();\n\n this.subscriptions.push(this.modalDialogStore.Listen(s => s.result).subscribe(c => this._modalDialogResult(c)));\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(d => {\n d.unsubscribe();\n });\n clearInterval(this._loadInterval);\n }\n\n /**\n * Handler for logging off user.\n */\n public kickUser(dataItem: IActiveUserGridData | IGridPagerSubmitData): void {\n const singleUser = dataItem as IActiveUserGridData;\n if (singleUser && singleUser.SourceItem && singleUser.SourceItem.ClientIp && singleUser.Id) {\n this.activeUsersStore.kickUser(singleUser.Id as number);\n } else {\n const multiUser = dataItem as IGridPagerSubmitData;\n if (multiUser && multiUser.ids && multiUser.ids.length > 0) {\n multiUser.ids.forEach(userId => {\n this.activeUsersStore.kickUser(userId);\n });\n }\n }\n this.activeUsersStore.refreshActiveUsers();\n }\n\n private _buildGrid(): void {\n this.columns = [\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.User.Id',\n title: 'Global__User_Id',\n headerFilterable: true,\n filterable: true,\n width: 120\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.User.UserName',\n title: 'Global__Username',\n headerFilterable: true,\n width: 150,\n sortIndex: 1,\n sortDesc: true\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.UpdatedAt',\n title: 'Global__Last_Activity_utc',\n headerFilterable: true,\n format: this.languageStore.CurrentDateTimeFormat,\n width: 150\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.CreatedAt',\n title: 'Global__Logintime_utc',\n headerFilterable: true,\n format: this.languageStore.CurrentDateTimeFormat,\n width: 150\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.ClientIp',\n title: 'Global__Client_Ip',\n headerFilterable: true,\n width: 150\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.FarmId',\n title: 'Global__Farm_Id',\n headerFilterable: true,\n width: 90\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.CampaignYear',\n title: 'Base__HarvestYear',\n headerFilterable: true,\n width: 50\n }),\n new ApDynGridPropertyColumnConfig({\n field: 'SourceItem.CurrentModule',\n title: 'Global__Path',\n headerFilterable: true,\n width: 150\n }),\n new ApDynGridButtonColumnConfig({\n callback: ApUtilService.createEventEmitter(this._showDialog.bind(this), this.subscriptions),\n standardIcon: 'MessageIcon',\n isStandardIcon: true,\n tooltip: 'Global_Notifications_New'\n }),\n new ApDynGridButtonColumnConfig({\n callback: ApUtilService.createEventEmitter(this.kickUser.bind(this), this.subscriptions),\n standardIcon: 'Icon',\n isStandardIcon: true,\n tooltip: 'Admin_Pages__Logout'\n })\n ];\n this.pager = new ApDynGridPagerConfig({\n listMassEditing: [\n {\n id: 0,\n name: 'Admin_Pages__Logout',\n type: ApGridPagerType.None,\n onSubmit: ApUtilService.createEventEmitter(this.kickUser.bind(this), this.subscriptions)\n } as IDynGridWizardChoiceData,\n ]\n });\n this.pager.type = ApDynGridPagerControlType.Pager;\n }\n\n private _showDialog(dataItem: IActiveUserGridData): void {\n this._farmId = dataItem.SourceItem.FarmId;\n this._userId = dataItem.SourceItem.User.Id;\n const dialog = {\n title: '',\n formConfig: {\n fieldSets: [\n new ApDynformsConfigFieldset({\n key: 'messageBox',\n columns: 1,\n config: [\n new ApDynformsConfigTextbox({\n key: 'title',\n label: 'Titel',\n value: null\n }),\n new ApDynformsConfigTextbox({\n key: 'message',\n label: 'Message',\n value: null\n })\n ]\n })\n ],\n values: {\n Title: '',\n Message: '',\n },\n validators: []\n },\n show: true,\n buttons: [\n {\n key: 'cancel',\n text: 'Global__Cancel',\n primary: false\n },\n {\n key: 'apply',\n text: 'Global__Take',\n primary: true\n }\n ],\n } as IModalDialogData;\n this.modalDialogStore.setModalDialogData(dialog);\n }\n\n private _modalDialogResult(result: IModalDialogResult): void {\n if (result.key !== 'apply') {\n return;\n }\n const ets = {\n FarmId: this._farmId,\n Caption: result.formValues.title,\n Description: result.formValues.message,\n UserId: this._userId,\n Id: ApGuidUtil.generateNewGuid(),\n Link: '',\n Version: 0,\n WasRead: false,\n Timestamp: new Date(),\n ChangedAt: null,\n ChangedBy: null,\n CreatedAt: null,\n CreatedBy: null,\n DeletedAt: null,\n DeletedBy: null\n } as INotifications;\n this.notificationStore.insertNotification(ets);\n }\n}\n","import {Route, RouterModule} from '@angular/router';\nimport {PageMode} from '../ap-interface';\nimport {NgModule} from '@angular/core';\nimport {ApTranslationsComponent} from './components/translations/ap-translations.component';\nimport {ApFormStyleComponent} from './components/form-style/ap-form-style.component';\nimport {ApGridStyleComponent} from './components/grid-style/ap-grid-style.component';\nimport {ApPermissionGuard} from '../guards/ap-permission-guard.service';\nimport {ApJobsComponent} from './components/jobs/ap-jobs.component';\nimport {ApParameterDefinitionComponent} from './components/parameter/ap-parameter-definition.component';\nimport {ApTraceLogComponent} from './components/tracelog/ap-trace-log.component';\nimport {ApActiveUsersComponent} from './components/active-users/ap-active-users.component';\nimport {ApPageNotFoundComponent} from '../layout/components/ap-page-not-found.component';\n\nconst routes: Route[] = [\n {\n path: 'trace-log',\n component: ApTraceLogComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN\n }\n },\n {\n path: 'parameter-definition',\n component: ApParameterDefinitionComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN\n }\n },\n {\n path: 'translations',\n component: ApTranslationsComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN\n }\n },\n {\n path: 'kriging',\n component: ApPageNotFoundComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN,\n }\n },\n {\n path: 'jobs',\n component: ApJobsComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN,\n }\n },\n {\n path: 'form-style',\n component: ApFormStyleComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN,\n }\n },\n {\n path: 'grid-style',\n component: ApGridStyleComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN,\n }\n },\n {\n path: 'active-users',\n component: ApActiveUsersComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN,\n }\n },\n {\n path: 'reports',\n loadChildren: () => import('../ap-reports/ap-reports.module').then(m => m.ApReportsModule),\n data: {\n login: true,\n layout: PageMode.HALFSCREEN\n }\n /*component: ApReportsOverviewComponent,\n canActivate: [ApDeveloperGuard],\n canLoad: [ApDeveloperGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN,\n canActivate: [ApDeveloperGuard],\n canLoad: [ApDeveloperGuard]\n }*/\n }\n];\n\n@NgModule({\n imports: [\n RouterModule.forChild(routes)\n ],\n exports: [RouterModule]\n})\nexport class ApAdministrationRoutes {\n}\n","import {NgModule} from '@angular/core';\nimport {\n BodyModule,\n FilterMenuModule,\n GridModule,\n GroupModule,\n HeaderModule,\n PagerModule,\n RowFilterModule\n} from '@progress/kendo-angular-grid';\nimport {CommonModule} from '@angular/common';\nimport {ApTranslationModule} from '../translation/ap-translation.module';\nimport {\n ButtonModule,\n DropDownButtonModule,\n SplitButtonModule\n} from '@progress/kendo-angular-buttons';\nimport {\n ComboBoxModule,\n DropDownsModule\n} from '@progress/kendo-angular-dropdowns';\nimport {\n FormsModule,\n ReactiveFormsModule\n} from '@angular/forms';\nimport {ApCoreModule} from '../ap-core/ap-core.module';\nimport {ApTranslationsComponent} from './components/translations/ap-translations.component';\nimport {ApAdministrationRoutes} from './ap-administration.routes';\nimport {DateInputsModule} from '@progress/kendo-angular-dateinputs';\nimport {ApDynformsModule} from '../ap-dynforms/ap-dynforms.module';\nimport {LayoutModule} from '@progress/kendo-angular-layout';\nimport {ApUtilsModule} from '../ap-utils';\nimport {ApKrigingComponent} from './components/kriging/ap-kriging.component';\nimport {ApGridStyleComponent} from './components/grid-style/ap-grid-style.component';\nimport {ApFormStyleComponent} from './components/form-style/ap-form-style.component';\nimport {ApDynGridsModule} from '../ap-dyngrids/ap-dyngrids.module';\nimport {ApDynComponentModule} from '../ap-dyncomponent/ap-dyncomponent.module';\nimport {ApTooltipModule} from '../ap-tooltip/ap-tooltip.module';\nimport {ApResponsiveTextModule} from '../ap-responsive-text/ap-responsive-text.module';\nimport {ApSectionHeaderModule} from '../ap-section-header/ap-section-header.module';\nimport {ApJobsComponent} from './components/jobs/ap-jobs.component';\nimport {ApStatusSwitchModule} from '../ap-status-switch/ap-status-switch.module';\nimport {ApPermissionModule} from '../ap-permission/ap-permission.module';\nimport {ApParameterDefinitionComponent} from './components/parameter/ap-parameter-definition.component';\nimport {ApTraceLogActionsComponent} from './components/tracelog/ap-trace-log-actions.component';\nimport {ApTraceLogBackendComponent} from './components/tracelog/ap-trace-log-backend.component';\nimport {ApTraceLogClientComponent} from './components/tracelog/ap-trace-log-client.component';\nimport {ApTraceLogComponent} from './components/tracelog/ap-trace-log.component';\nimport {ApActiveUsersComponent} from './components/active-users/ap-active-users.component';\n\n\n@NgModule({\n declarations: [\n ApTranslationsComponent,\n ApKrigingComponent,\n ApGridStyleComponent,\n ApFormStyleComponent,\n ApJobsComponent,\n ApParameterDefinitionComponent,\n ApTraceLogActionsComponent,\n ApTraceLogBackendComponent,\n ApTraceLogClientComponent,\n ApTraceLogComponent,\n ApActiveUsersComponent,\n ],\n exports: [\n ApTranslationsComponent,\n ApKrigingComponent,\n ApGridStyleComponent,\n ApFormStyleComponent,\n ApJobsComponent,\n ApParameterDefinitionComponent,\n ApTraceLogActionsComponent,\n ApTraceLogBackendComponent,\n ApTraceLogClientComponent,\n ApTraceLogComponent,\n ApActiveUsersComponent,\n ],\n imports: [\n ReactiveFormsModule,\n SplitButtonModule,\n ComboBoxModule,\n DateInputsModule,\n GridModule,\n ApCoreModule,\n ApTranslationModule,\n ApUtilsModule,\n CommonModule,\n ButtonModule,\n FormsModule,\n DropDownsModule,\n DropDownButtonModule,\n ApDynformsModule,\n LayoutModule,\n ApUtilsModule,\n RowFilterModule,\n ApAdministrationRoutes,\n HeaderModule,\n BodyModule,\n PagerModule,\n FilterMenuModule,\n ApDynGridsModule,\n ApDynComponentModule,\n ApTooltipModule,\n ApResponsiveTextModule,\n GroupModule,\n ApSectionHeaderModule,\n ApStatusSwitchModule,\n ApPermissionModule\n ]\n})\nexport class ApAdministrationModule {\n}\n"],"sourceRoot":"webpack:///","file":"343.ea11673114288716.js"}