tsv2-library 1.0.61-alpha.105 → 1.0.61-alpha.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,10 +25,10 @@ import useLoadingStore from './components/v2/Loading/store/loading.store';
25
25
  import Tooltip from '../node_modules/primevue/tooltip';
26
26
  import Focus from './directives/v-focus';
27
27
  import VueHtmlToPaper from './plugins/VueHtmlToPaper';
28
- import { DialogDamageLog, DialogMissingLog, DialogTransferLog, TSAssetInfo, TSApproverInfo, TSBadge, TSBadgeGroup, TSBreadcrumb, TSButton, TSButtonAddByScan, TSButtonBulkAction, TSButtonCopy, TSButtonDownload, TSButtonFilter, TSButtonLogHistory, TSButtonRadio, TSButtonViewLog, TSButtonScan, TSButtonSearchByScan, TSButtonSearch, TSButtonSync, TSButtonSelectTree, TSButtonSelectUser, TSButtonToggle, TSCalendar, TSCard, TSCarousel, TSCheckbox, TSCustomColumn, TSDataTable, TSDatePicker, TSDayPicker, TSDialog, TSDialogApprovalList, TSDialogAssetNameDetail, TSDialogConfirm, TSDialogForm, TSDialogLinkedAsset, TSDialogPrintQR, TSDialogReportDamage, TSDialogReportMissing, TSDialogReportTag, TSDialogSelectTree, TSDialogSelectAsset, TSDialogSelectUser, TSDisposalReport, TSDropdown, TSFilterContainer, TSFileUpload, TSForm, TSIcon, TSImage, TSImageCompressor, TSInlineMessage, TSInputBadge, TSInputCurrency, TSInputCurrencyReference, TSInputEmail, TSInputNumber, TSInputOTP, TSInputPassword, TSInputPhoneNumber, TSInputRangeNumber, TSInputSearch, TSInputText, TSInputURL, TSLoading, TSMenu, TSMultiSelect, TSOverlayPanel, TSPaginator, TSProgressBar, TSSteps, TSTabMenu, TSTagType, TSTextarea, TSTimeline, TSToast, TSTransactionRoles, TSTree, TSTreeSearchInput, TSUserWithIcon, TSValidatorMessage } from './components/v2';
28
+ import { DialogDamageLog, DialogMissingLog, DialogTransferLog, TSAssetInfo, TSApproverInfo, TSBadge, TSBadgeGroup, TSBreadcrumb, TSButton, TSButtonAddByScan, TSButtonBulkAction, TSButtonCopy, TSButtonDownload, TSButtonFilter, TSButtonLogHistory, TSButtonRadio, TSButtonViewLog, TSButtonScan, TSButtonSearchByScan, TSButtonSearch, TSButtonSync, TSButtonSelectTree, TSButtonSelectUser, TSButtonToggle, TSCalendar, TSCard, TSCarousel, TSCheckbox, TSCustomColumn, TSDataTable, TSDatePicker, TSDayPicker, TSDialog, TSDialogApprovalList, TSDialogAssetNameDetail, TSDialogConfirm, TSDialogCoordinate, TSDialogForm, TSDialogLinkedAsset, TSDialogPrintQR, TSDialogReportDamage, TSDialogReportMissing, TSDialogReportTag, TSDialogSelectTree, TSDialogSelectAsset, TSDialogSelectUser, TSDisposalReport, TSDropdown, TSFilterContainer, TSFileUpload, TSForm, TSIcon, TSImage, TSImageCompressor, TSInlineMessage, TSInputBadge, TSInputCurrency, TSInputCurrencyReference, TSInputCoordinate, TSInputEmail, TSInputNumber, TSInputOTP, TSInputPassword, TSInputPhoneNumber, TSInputRangeNumber, TSInputSearch, TSInputText, TSInputURL, TSLoading, TSMenu, TSMultiSelect, TSOverlayPanel, TSPaginator, TSProgressBar, TSSteps, TSTabMenu, TSTagType, TSTextarea, TSTimeline, TSToast, TSTransactionRoles, TSTree, TSTreeSearchInput, TSUserWithIcon, TSValidatorMessage } from './components/v2';
29
29
  declare const TSi18n: import("vue-i18n").I18n<{}, {}, {}, string, false>;
30
30
  declare const _default: {
31
31
  install: (app: App) => void;
32
32
  };
33
33
  export default _default;
34
- export { LibConfig, TSToastService, TSi18n, VueHtmlToPaper, Tooltip, Focus, DialogDamageLog, DialogMissingLog, DialogTransferLog, TSAssetInfo, TSApproverInfo, TSBadge, TSBadgeGroup, TSBreadcrumb, TSButton, TSButtonAddByScan, TSButtonBulkAction, TSButtonCopy, TSButtonDownload, TSButtonFilter, TSButtonLogHistory, TSButtonRadio, TSButtonViewLog, TSButtonScan, TSButtonSearch, TSButtonSearchByScan, TSButtonSelectTree, TSButtonSelectUser, TSButtonSync, TSButtonToggle, TSCalendar, TSCard, TSCarousel, TSCheckbox, TSCustomColumn, TSDatePicker, TSDataTable, TSDayPicker, TSDialog, TSDialogApprovalList, TSDialogAssetNameDetail, TSDialogConfirm, TSDialogForm, TSDialogLinkedAsset, TSDialogPrintQR, TSDialogReportDamage, TSDialogReportMissing, TSDialogReportTag, TSDialogSelectTree, TSDialogSelectAsset, TSDialogSelectUser, TSDisposalReport, TSDropdown, TSFilterContainer, TSFileUpload, TSForm, TSIcon, TSImage, TSImageCompressor, TSInlineMessage, TSInputBadge, TSInputCurrency, TSInputCurrencyReference, TSInputEmail, TSInputNumber, TSInputOTP, TSInputPassword, TSInputPhoneNumber, TSInputRangeNumber, TSInputText, TSInputSearch, TSInputURL, TSLoading, TSMenu, TSMultiSelect, TSOverlayPanel, TSPaginator, TSProgressBar, TSSteps, TSTabMenu, TSTagType, TSTextarea, TSTimeline, TSToast, TSTransactionRoles, TSTree, TSTreeSearchInput, TSUserWithIcon, TSValidatorMessage, handleTokenExpiration, exportToExcel, formatGoDate, formatDate, getUserLocale, formatDateReadable, formatUserName, formatVowelSoundLabel, getImageURL, downloadFile, isObjectEmpty, useToast, listenSidebarChanges, unListenSidebarChanges, getCurrency, formatCurrency, getHostName, getBaseURL, useI18n, useForm, useField, getNestedProperyValue, getSeverityByAssetStatus, clearStorage, forceLogout, reLogin, isValidJSONString, buildBodyParams, formatLogResponseData, getTransactionRole, getSystemRole, hasSystemRole, hasTransactionRole, checkRouteAccess, hasApprovalRole, hasManagerRole, hasAnyManagerRole, hasMonitoringReportRole, hasAnyMonitoringReportRole, hasStaffRole, hasAccessToAssetDetail, flattenTreeNodeChildren, parseNodeKeys, filterNodeKeys, TreeAPI, RoutineAPI, DisposalAPI, RoutineServices, AssetsServices, AssetNameService, AssetBrandService, DisposalServices, FilterMatchMode, useLoadingStore, Presets, };
34
+ export { LibConfig, TSToastService, TSi18n, VueHtmlToPaper, Tooltip, Focus, DialogDamageLog, DialogMissingLog, DialogTransferLog, TSAssetInfo, TSApproverInfo, TSBadge, TSBadgeGroup, TSBreadcrumb, TSButton, TSButtonAddByScan, TSButtonBulkAction, TSButtonCopy, TSButtonDownload, TSButtonFilter, TSButtonLogHistory, TSButtonRadio, TSButtonViewLog, TSButtonScan, TSButtonSearch, TSButtonSearchByScan, TSButtonSelectTree, TSButtonSelectUser, TSButtonSync, TSButtonToggle, TSCalendar, TSCard, TSCarousel, TSCheckbox, TSCustomColumn, TSDatePicker, TSDataTable, TSDayPicker, TSDialog, TSDialogApprovalList, TSDialogAssetNameDetail, TSDialogConfirm, TSDialogCoordinate, TSDialogForm, TSDialogLinkedAsset, TSDialogPrintQR, TSDialogReportDamage, TSDialogReportMissing, TSDialogReportTag, TSDialogSelectTree, TSDialogSelectAsset, TSDialogSelectUser, TSDisposalReport, TSDropdown, TSFilterContainer, TSFileUpload, TSForm, TSIcon, TSImage, TSImageCompressor, TSInlineMessage, TSInputBadge, TSInputCurrency, TSInputCurrencyReference, TSInputCoordinate, TSInputEmail, TSInputNumber, TSInputOTP, TSInputPassword, TSInputPhoneNumber, TSInputRangeNumber, TSInputText, TSInputSearch, TSInputURL, TSLoading, TSMenu, TSMultiSelect, TSOverlayPanel, TSPaginator, TSProgressBar, TSSteps, TSTabMenu, TSTagType, TSTextarea, TSTimeline, TSToast, TSTransactionRoles, TSTree, TSTreeSearchInput, TSUserWithIcon, TSValidatorMessage, handleTokenExpiration, exportToExcel, formatGoDate, formatDate, getUserLocale, formatDateReadable, formatUserName, formatVowelSoundLabel, getImageURL, downloadFile, isObjectEmpty, useToast, listenSidebarChanges, unListenSidebarChanges, getCurrency, formatCurrency, getHostName, getBaseURL, useI18n, useForm, useField, getNestedProperyValue, getSeverityByAssetStatus, clearStorage, forceLogout, reLogin, isValidJSONString, buildBodyParams, formatLogResponseData, getTransactionRole, getSystemRole, hasSystemRole, hasTransactionRole, checkRouteAccess, hasApprovalRole, hasManagerRole, hasAnyManagerRole, hasMonitoringReportRole, hasAnyMonitoringReportRole, hasStaffRole, hasAccessToAssetDetail, flattenTreeNodeChildren, parseNodeKeys, filterNodeKeys, TreeAPI, RoutineAPI, DisposalAPI, RoutineServices, AssetsServices, AssetNameService, AssetBrandService, DisposalServices, FilterMatchMode, useLoadingStore, Presets, };
@@ -151,6 +151,10 @@ export type TableColumn = {
151
151
  * Make the column cannot reordered by disabled dragability.
152
152
  */
153
153
  dragable?: boolean;
154
+ /**
155
+ * Whether the column is pinned to the left of the table.
156
+ */
157
+ pinned?: boolean;
154
158
  fixed?: boolean;
155
159
  visible?: boolean;
156
160
  /**
@@ -0,0 +1,4 @@
1
+ declare const _sfc_main: import("vue").DefineComponent<any, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, Readonly<any>, {} | {
2
+ [x: string]: any;
3
+ }, {}>;
4
+ export default _sfc_main;
@@ -0,0 +1,4 @@
1
+ declare const _sfc_main: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "apply"[], "apply", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
2
+ onApply?: ((...args: any[]) => any) | undefined;
3
+ }, {}, {}>;
4
+ export default _sfc_main;
@@ -74,3 +74,22 @@ export interface MapFocusConfig {
74
74
  featureType: google.maps.FeatureType;
75
75
  featureStyleOptions: google.maps.FeatureStyleOptions;
76
76
  }
77
+
78
+ export interface DialogCoordinateProps {
79
+ value?: LatLngValue;
80
+ center?: [number, number];
81
+ zoom?: number;
82
+ mode?: InputMapMode;
83
+ colorScheme?: 'LIGHT' | 'DARK';
84
+ mapOptions?: google.maps.MapOptions;
85
+ customMarkers?: CustomMarker[];
86
+ inputMarkerConfig?: MarkerConfig;
87
+ type: 'input' | 'detail';
88
+ }
89
+
90
+ export interface CustomMarker {
91
+ lat: number;
92
+ lng: number;
93
+ title?: string;
94
+ desc?: string;
95
+ }
@@ -4,10 +4,12 @@ declare const _sfc_main: import("vue").DefineComponent<{
4
4
  type: __PropType<google.maps.Map>;
5
5
  required: true;
6
6
  };
7
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "searched"[], "searched", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
8
8
  map: {
9
9
  type: __PropType<google.maps.Map>;
10
10
  required: true;
11
11
  };
12
- }>>, {}, {}>;
12
+ }>> & {
13
+ onSearched?: ((...args: any[]) => any) | undefined;
14
+ }, {}, {}>;
13
15
  export default _sfc_main;
@@ -79,8 +79,11 @@ export type TSVueIcons =
79
79
  | 'image-add'
80
80
  | 'indeterminate-circle-fill'
81
81
  | 'info'
82
+ | 'layout-grid-line'
82
83
  | 'link-unlink-m'
83
84
  | 'list-settings-line'
85
+ | 'list-check'
86
+ | 'list-check-2'
84
87
  | 'loader-4'
85
88
  | 'logout-box-r-line'
86
89
  | 'mail-open-line'
@@ -99,6 +102,8 @@ export type TSVueIcons =
99
102
  | 'phone-line'
100
103
  | 'printer'
101
104
  | 'price-tag-3-line'
105
+ | 'pushpin-2-line'
106
+ | 'pushpin-fill'
102
107
  | 'qr'
103
108
  | 'qr-scan-line'
104
109
  | 'recycle-bin'
@@ -0,0 +1,4 @@
1
+ declare const _sfc_main: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "visible"[], "visible", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
2
+ onVisible?: ((...args: any[]) => any) | undefined;
3
+ }, {}, {}>;
4
+ export default _sfc_main;
@@ -36,6 +36,7 @@ import TSDialog from './Dialog/Dialog.vue';
36
36
  import TSDialogApprovalList from './DialogApprovalList/DialogApprovalList.vue';
37
37
  import TSDialogAssetNameDetail from './DialogAssetNameDetail/DialogAssetNameDetail.vue';
38
38
  import TSDialogConfirm from './DialogConfirm/DialogConfirm.vue';
39
+ import TSDialogCoordinate from './DialogCoordinate/DialogCoordinate.vue';
39
40
  import TSDialogForm from './DialogForm/DialogForm.vue';
40
41
  import TSDialogLinkedAsset from './DialogLinkedAsset/DialogLinkedAsset.vue';
41
42
  import TSDialogPrintQR from './DialogPrintQR/DialogPrintQR.vue';
@@ -83,4 +84,4 @@ import TSTree from './Tree/Tree.vue';
83
84
  import TSTreeSearchInput from './TreeSearchInput/TreeSearchInput.vue';
84
85
  import TSUserWithIcon from './UserWithIcon/UserWithIcon.vue';
85
86
  import TSValidatorMessage from './ValidatorMessage/ValidatorMessage.vue';
86
- export { DialogTransferLog, DialogDamageLog, DialogMissingLog, TSAssetInfo, TSApproverInfo, TSBadge, TSBadgeGroup, TSBreadcrumb, TSButton, TSButtonAddByScan, TSButtonBulkAction, TSButtonCopy, TSButtonDownload, TSButtonFilter, TSButtonLogHistory, TSButtonRadio, TSButtonViewLog, TSButtonScan, TSButtonSearch, TSButtonSearchByScan, TSButtonSelectTree, TSButtonSelectUser, TSButtonSync, TSButtonToggle, TSCalendar, TSCard, TSCarousel, TSCheckbox, TSCustomColumn, TSDataTable, TSDatePicker, TSDayPicker, TSDialog, TSDialogApprovalList, TSDialogAssetNameDetail, TSDialogConfirm, TSDialogForm, TSDialogLinkedAsset, TSDialogPrintQR, TSDialogReportDamage, TSDialogReportMissing, TSDialogReportTag, TSDialogSelectTree, TSDialogSelectAsset, TSDialogSelectUser, TSDisposalReport, TSDropdown, TSFilterContainer, TSFileUpload, TSForm, TSIcon, TSImage, TSImageCompressor, TSInlineMessage, TSInputBadge, TSInputCurrency, TSInputCurrencyReference, TSInputCoordinate, TSInputEmail, TSInputNumber, TSInputOTP, TSInputPassword, TSInputPhoneNumber, TSInputRangeNumber, TSInputSearch, TSInputText, TSInputTextArea, TSInputURL, TSLoading, TSMenu, TSMultiSelect, TSOverlayPanel, TSPaginator, TSProgressBar, TSSteps, TSTabMenu, TSTagType, TSTextarea, TSTimeline, TSToast, TSTransactionRoles, TSTree, TSTreeSearchInput, TSUserWithIcon, TSValidatorMessage, };
87
+ export { DialogTransferLog, DialogDamageLog, DialogMissingLog, TSAssetInfo, TSApproverInfo, TSBadge, TSBadgeGroup, TSBreadcrumb, TSButton, TSButtonAddByScan, TSButtonBulkAction, TSButtonCopy, TSButtonDownload, TSButtonFilter, TSButtonLogHistory, TSButtonRadio, TSButtonViewLog, TSButtonScan, TSButtonSearch, TSButtonSearchByScan, TSButtonSelectTree, TSButtonSelectUser, TSButtonSync, TSButtonToggle, TSCalendar, TSCard, TSCarousel, TSCheckbox, TSCustomColumn, TSDataTable, TSDatePicker, TSDayPicker, TSDialog, TSDialogApprovalList, TSDialogAssetNameDetail, TSDialogConfirm, TSDialogCoordinate, TSDialogForm, TSDialogLinkedAsset, TSDialogPrintQR, TSDialogReportDamage, TSDialogReportMissing, TSDialogReportTag, TSDialogSelectTree, TSDialogSelectAsset, TSDialogSelectUser, TSDisposalReport, TSDropdown, TSFilterContainer, TSFileUpload, TSForm, TSIcon, TSImage, TSImageCompressor, TSInlineMessage, TSInputBadge, TSInputCurrency, TSInputCurrencyReference, TSInputCoordinate, TSInputEmail, TSInputNumber, TSInputOTP, TSInputPassword, TSInputPhoneNumber, TSInputRangeNumber, TSInputSearch, TSInputText, TSInputTextArea, TSInputURL, TSLoading, TSMenu, TSMultiSelect, TSOverlayPanel, TSPaginator, TSProgressBar, TSSteps, TSTabMenu, TSTagType, TSTextarea, TSTimeline, TSToast, TSTransactionRoles, TSTree, TSTreeSearchInput, TSUserWithIcon, TSValidatorMessage, };
@@ -1,3 +1,4 @@
1
+ import { AssetMap } from '../types/assets.type';
1
2
  import { DataTableParams } from '../types/dataTable.type';
2
3
  import { DialogSelectAssetFilterModels } from '../components/v2/DialogSelectAsset/DialogSelectAsset.vue.d';
3
4
  export type DialogSelectAssetFilterQueryParams = Partial<Record<keyof DialogSelectAssetFilterModels, string>>;
@@ -7,6 +8,7 @@ export type GetAllAssetsQueryParams = DataTableParams & DialogSelectAssetFilterQ
7
8
  excludeId?: string;
8
9
  tag?: string;
9
10
  maintenanceAuditStatus?: string[];
11
+ coordinate?: boolean;
10
12
  };
11
13
  export type GetAvailableAssetsQueryParams = DataTableParams & DialogSelectAssetFilterQueryParams & {
12
14
  search?: string;
@@ -24,6 +26,18 @@ export interface GetLinkedAssetFamiliesResponse {
24
26
  message: string;
25
27
  data: Datum[];
26
28
  }
29
+ export interface GetAssetMapResponse {
30
+ status: number;
31
+ message: string;
32
+ data: AssetMap[];
33
+ }
34
+ export interface GetAssetMapParams {
35
+ east?: number;
36
+ west?: number;
37
+ north?: number;
38
+ south?: number;
39
+ search?: string;
40
+ }
27
41
  interface Datum {
28
42
  _id: string;
29
43
  parent: Parent;
@@ -137,6 +137,7 @@ export default {
137
137
  // Position
138
138
  'absolute top-0 left-0',
139
139
  'mt-2',
140
+ '!z-[2222]',
140
141
 
141
142
  'max-w-[30vw]',
142
143
 
@@ -1,13 +1,16 @@
1
1
  import { AxiosInstance, AxiosResponse } from 'axios';
2
- import { GetAllAssetsQueryParams, GetAssetDetailParams, GetAvailableAssetsQueryParams, GetLinkedAssetFamiliesResponse } from '../dto/assets.dto';
2
+ import { GetAllAssetsQueryParams, GetAssetDetailParams, GetAssetMapParams, GetAssetMapResponse, GetAvailableAssetsQueryParams, GetLinkedAssetFamiliesResponse } from '../dto/assets.dto';
3
3
  import { AssetOptionField } from '../components/v2/DialogSelectAsset/DialogSelectAsset.vue.d';
4
4
  export interface ServiceOptions {
5
5
  headers?: Record<string, unknown>;
6
6
  params?: Record<string, unknown>;
7
+ usePrefix?: boolean;
7
8
  }
8
- export declare const API: ({ headers, params, }?: ServiceOptions) => AxiosInstance;
9
+ export declare const API: ({ headers, params, usePrefix, }?: ServiceOptions) => AxiosInstance;
9
10
  declare const _default: {
10
11
  getAllAssets: (params: GetAllAssetsQueryParams) => Promise<AxiosResponse<any, any>>;
12
+ postAssetList: (params?: GetAllAssetsQueryParams | undefined) => Promise<AxiosResponse<any, any>>;
13
+ postAssetOption: (params?: GetAllAssetsQueryParams | undefined) => Promise<AxiosResponse<any, any>>;
11
14
  getAvailableAssets: (params: GetAvailableAssetsQueryParams) => Promise<AxiosResponse<any, any>>;
12
15
  postAssetAvailableList: (params?: GetAllAssetsQueryParams | GetAvailableAssetsQueryParams | undefined) => Promise<AxiosResponse<any, any>>;
13
16
  getAssetsById: (_id: string, params: GetAvailableAssetsQueryParams) => Promise<AxiosResponse<any, any>>;
@@ -21,5 +24,6 @@ declare const _default: {
21
24
  mode?: string | undefined;
22
25
  }) | undefined) => Promise<AxiosResponse<any, any>>;
23
26
  scanAsset: (tag: string) => Promise<AxiosResponse<any, any>>;
27
+ getAssetMaps: (params?: GetAssetMapParams | undefined) => Promise<AxiosResponse<GetAssetMapResponse, any>>;
24
28
  };
25
29
  export default _default;
@@ -1,3 +1,4 @@
1
+ import { CurrencyValue } from '../components/v2/InputCurrency/InputCurrency.vue.d';
1
2
  import { LinkedAsset } from '../components/v2/DialogLinkedAsset/DialogLinkedAsset.vue.d';
2
3
  export type AssetFieldObject = {
3
4
  _id?: string;
@@ -44,6 +45,7 @@ export type Asset = {
44
45
  assetBrand?: AssetFieldObject;
45
46
  assetModel?: AssetFieldObject;
46
47
  assetTagType?: string;
48
+ assetValue?: CurrencyValue;
47
49
  assignedTo?: string;
48
50
  isTransactionable?: boolean;
49
51
  addOn?: {
@@ -65,14 +67,29 @@ export type Asset = {
65
67
  qr?: string;
66
68
  };
67
69
  firstImage?: string;
68
- secondImageSmall?: string;
69
- secondImageMedium?: string;
70
- secondImageBig?: string;
71
- assetImageSmall?: string;
72
- assetImageMedium?: string;
73
- assetImageBig?: string;
70
+ secondImage?: string;
74
71
  assetImage?: string;
75
72
  setDefault?: 'firstImage' | 'secondImage';
76
73
  auditStatus?: string;
77
74
  maintenanceStatus?: string;
75
+ transactions?: TransactionPolicyType;
76
+ formattedAssetValue?: string;
77
+ address?: string;
78
+ latitude: number | null;
79
+ longitude: number | null;
78
80
  };
81
+ export type TransactionPolicyType = {
82
+ borrowing: boolean;
83
+ assignment: boolean;
84
+ transfer: boolean;
85
+ disposal: boolean;
86
+ maintenance: boolean;
87
+ audit: boolean;
88
+ repairTicketing: boolean;
89
+ tracking: boolean;
90
+ };
91
+ export interface AssetMap {
92
+ _id: string;
93
+ latitude: number;
94
+ longitude: number;
95
+ }
@@ -0,0 +1,45 @@
1
+ export type MarkerConfig = {
2
+ kind: 'pin';
3
+ pinOptions?: google.maps.marker.PinElementOptions;
4
+ title?: string;
5
+ } | {
6
+ kind: 'img';
7
+ src: string;
8
+ title?: string;
9
+ } | {
10
+ kind: 'svgString';
11
+ svg: string;
12
+ title?: string;
13
+ } | {
14
+ kind: 'customElement';
15
+ createElement: () => HTMLElement;
16
+ title?: string;
17
+ };
18
+ export interface MapControl {
19
+ position?: google.maps.ControlPosition;
20
+ index?: number;
21
+ createElement: (ctx: {
22
+ map: google.maps.Map;
23
+ }) => HTMLElement;
24
+ }
25
+ export interface MapFocusConfig {
26
+ name: string;
27
+ featureType: google.maps.FeatureType;
28
+ featureStyleOptions: google.maps.FeatureStyleOptions;
29
+ }
30
+ export interface CustomMarkerOptions {
31
+ position: {
32
+ lat: number;
33
+ lng: number;
34
+ };
35
+ marker?: MarkerConfig;
36
+ title?: string;
37
+ popup?: string;
38
+ hoverable?: boolean;
39
+ draggable?: boolean;
40
+ clickable?: boolean;
41
+ onClick?: (marker: google.maps.marker.AdvancedMarkerElement) => void;
42
+ onDragEnd?: (marker: google.maps.marker.AdvancedMarkerElement) => void;
43
+ onHover?: (marker: google.maps.marker.AdvancedMarkerElement, isHovering: boolean) => void;
44
+ }
45
+ export declare const createMarker: (options: CustomMarkerOptions) => Promise<google.maps.marker.AdvancedMarkerElement>;
@@ -0,0 +1 @@
1
+ export declare const debounce: <T extends (...args: any[]) => void>(fn: T, delay?: number) => (...args: Parameters<T>) => void;