@7365admin1/layer-common 3.2.2-staging.123 → 3.2.2-staging.125
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.
- package/components/AccessCardDetailsDialog.vue +125 -79
- package/components/AttendanceMapSearchDialog.vue +42 -44
- package/components/AttendanceSettingsDialog.vue +62 -63
- package/components/EntryPass/QrTemplatePreview.vue +27 -16
- package/components/Feedback/Form.vue +26 -12
- package/components/HygieneUpdateMoreAction.vue +44 -44
- package/components/IncidentReport/affectedEntities.vue +41 -20
- package/components/NumberSettingField.vue +9 -2
- package/components/RolePermissionFormCreate.vue +104 -78
- package/components/RolePermissionFormPreviewUpdate.vue +111 -108
- package/components/Signature.vue +40 -34
- package/components/UnitPersonCard.vue +42 -13
- package/components/VisitorForm.vue +402 -218
- package/package.json +1 -1
- package/utils/status.test.ts +2 -2
- package/utils/status.ts +4 -0
|
@@ -3,26 +3,26 @@
|
|
|
3
3
|
<v-row>
|
|
4
4
|
<v-col cols="12" md="4" class="mt-2">
|
|
5
5
|
<InputLabel class="font-weight-bold" title="Name" />
|
|
6
|
-
<v-text-field :model-value="person.name"
|
|
7
|
-
:class="{ 'no-pointer': readOnly }" />
|
|
6
|
+
<v-text-field :model-value="person.name" class="filter-field" density="comfortable"
|
|
7
|
+
:readonly="readOnly" :class="{ 'no-pointer': readOnly }" />
|
|
8
8
|
</v-col>
|
|
9
9
|
|
|
10
10
|
<v-col cols="12" md="4" class="mt-2">
|
|
11
11
|
<InputLabel class="font-weight-bold" title="Email Address" />
|
|
12
|
-
<v-text-field :model-value="person.email"
|
|
13
|
-
:class="{ 'no-pointer': readOnly }" />
|
|
12
|
+
<v-text-field :model-value="person.email" class="filter-field" density="comfortable"
|
|
13
|
+
:readonly="readOnly" :class="{ 'no-pointer': readOnly }" />
|
|
14
14
|
</v-col>
|
|
15
15
|
|
|
16
16
|
<v-col cols="12" md="4" class="mt-2">
|
|
17
17
|
<InputLabel class="font-weight-bold" title="NRIC" />
|
|
18
|
-
<v-text-field :model-value="person.nric"
|
|
19
|
-
:class="{ 'no-pointer': readOnly }" />
|
|
18
|
+
<v-text-field :model-value="person.nric" class="filter-field" density="comfortable"
|
|
19
|
+
:readonly="readOnly" :class="{ 'no-pointer': readOnly }" />
|
|
20
20
|
</v-col>
|
|
21
21
|
|
|
22
22
|
<v-col cols="12" md="4" class="mt-2">
|
|
23
23
|
<InputLabel class="font-weight-bold" title="Mobile Number" />
|
|
24
|
-
<v-text-field :model-value="person.contact"
|
|
25
|
-
:class="{ 'no-pointer': readOnly }" />
|
|
24
|
+
<v-text-field :model-value="person.contact" class="filter-field" density="comfortable"
|
|
25
|
+
:readonly="readOnly" :class="{ 'no-pointer': readOnly }" />
|
|
26
26
|
</v-col>
|
|
27
27
|
</v-row>
|
|
28
28
|
|
|
@@ -30,11 +30,14 @@
|
|
|
30
30
|
<v-col cols="12" md="4" class="mt-2">
|
|
31
31
|
<InputLabel class="font-weight-bold" title="Other Documents and Files" :viewMode="readOnly" />
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
<!-- Was `text-blue-darken-2`, a fixed Vuetify blue that stays the same
|
|
34
|
+
on the dark theme. An empty note is `--muted`; a file link is
|
|
35
|
+
`--accent-text`, the design's link ink. -->
|
|
36
|
+
<p v-if="!person.files?.length" class="screen-hint unit-person__empty ml-2 mt-5">
|
|
34
37
|
**No documents to display**
|
|
35
38
|
</p>
|
|
36
|
-
<v-list v-else dense nav class="mt-2">
|
|
37
|
-
<v-list-item v-for="file in person.files" :key="file.id" class="
|
|
39
|
+
<v-list v-else dense nav class="mt-2 unit-person__files">
|
|
40
|
+
<v-list-item v-for="file in person.files" :key="file.id" class="unit-person__file"
|
|
38
41
|
:href="getFileUrl(file.id)" target="_blank">
|
|
39
42
|
<v-list-item-content>
|
|
40
43
|
<v-list-item-title class="d-flex align-center">
|
|
@@ -53,11 +56,14 @@
|
|
|
53
56
|
<v-col v-if="prop.showOwnerOption" cols="12" md="4">
|
|
54
57
|
<v-checkbox :model-value="person.isOwner" readonly hide-details density="compact" @click="handleClick">
|
|
55
58
|
<template #label>
|
|
56
|
-
<span class="
|
|
59
|
+
<span class="unit-person__check-label ml-2">Is Owner?</span>
|
|
57
60
|
</template>
|
|
58
61
|
</v-checkbox>
|
|
59
62
|
|
|
60
|
-
|
|
63
|
+
<!-- `text-gray-5` is not a Vuetify class and not a token - it resolved
|
|
64
|
+
to nothing, so this sat on the body ink. `.screen-hint` is the
|
|
65
|
+
design's sub-line. -->
|
|
66
|
+
<span class="d-flex screen-hint ml-7">As owner, you will be receiving emails and updates
|
|
61
67
|
related to this unit.</span>
|
|
62
68
|
</v-col>
|
|
63
69
|
</v-row>
|
|
@@ -120,4 +126,27 @@ const handleClick = () => {
|
|
|
120
126
|
.no-pointer {
|
|
121
127
|
pointer-events: none;
|
|
122
128
|
}
|
|
129
|
+
|
|
130
|
+
/* `.screen-hint` carries the ink; only the size is stated here, and it is the
|
|
131
|
+
cell size, not Vuetify's `text-caption` (12px/400 Roboto). */
|
|
132
|
+
.unit-person__empty {
|
|
133
|
+
font-size: var(--fs-cell);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* A `v-list` paints Vuetify's own `surface` - a square-cornered lighter slab
|
|
137
|
+
sitting on the card, measured on the dark theme. The files are links on the
|
|
138
|
+
card, so the list carries no surface of its own. */
|
|
139
|
+
.unit-person__files {
|
|
140
|
+
background: transparent;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.unit-person__file {
|
|
144
|
+
color: var(--accent-text);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.unit-person__check-label {
|
|
148
|
+
font-size: var(--fs-cell);
|
|
149
|
+
font-weight: var(--fw-cell);
|
|
150
|
+
color: var(--text);
|
|
151
|
+
}
|
|
123
152
|
</style>
|