Skip to content

Commit 2b46409

Browse files
committed
feat: add admin views
1 parent 2d58ad3 commit 2b46409

File tree

6 files changed

+488
-0
lines changed

6 files changed

+488
-0
lines changed

src/admin/databases/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<div src="./coming-soon.html"></div>
2+
<section class="centered"></section>

src/admin/domains/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<div src="./coming-soon.html"></div>
2+
<section class="centered"></section>

src/admin/files/datatable.html

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<section class="centered">
2+
<div
3+
src="../components/datatable-toolbar.html"
4+
path="../admin/organizations/form.html"
5+
class="width:100%"></div>
6+
7+
<div class="datatable-container">
8+
<table>
9+
<tbody class="header">
10+
<tr>
11+
<td>
12+
<floating-label>
13+
<input
14+
type="text"
15+
filter-selector="document; tbody[render-selector]"
16+
filter-query-key="firstname"
17+
filter-operator="$regex"
18+
filter-regex-flag="i"
19+
placeholder="Name"
20+
class="floating-label" />
21+
<a
22+
filter-selector="document; tbody[render-selector]"
23+
filter-sort-key="firstname"
24+
filter-sort-direction="asc"
25+
click-value="desc, asc"
26+
click-attribute="filter-sort-direction"
27+
class="floating-icon">
28+
<i
29+
toggle-attribute="src"
30+
toggle-value="../assets/svg/sort-down.svg, ../assets/svg/sort-up.svg"
31+
src="../assets/svg/sort.svg"></i>
32+
</a>
33+
</floating-label>
34+
</td>
35+
<td class="min-width:150px">
36+
<floating-label>
37+
<input
38+
type="text"
39+
filter-selector="document; tbody[render-selector]"
40+
filter-query-key="ambassadorUrl"
41+
filter-operator="$regex"
42+
filter-regex-flag="i"
43+
placeholder="Ambassador"
44+
class="floating-label" />
45+
<a
46+
filter-selector="document; tbody[render-selector]"
47+
filter-sort-key="ambassadorUrl"
48+
filter-sort-direction="asc"
49+
click-value="desc, asc"
50+
click-attribute="filter-sort-direction"
51+
class="floating-icon">
52+
<i
53+
toggle-attribute="src"
54+
toggle-value="../assets/svg/sort-down.svg, ../assets/svg/sort-up.svg"
55+
src="../assets/svg/sort.svg"></i>
56+
</a>
57+
</floating-label>
58+
</td>
59+
<td>
60+
<floating-label>
61+
<input
62+
type="text"
63+
filter-selector="document; tbody[render-selector]"
64+
filter-query-key="_id"
65+
filter-operator="$regex"
66+
filter-regex-flag="i"
67+
placeholder="id"
68+
class="floating-label" />
69+
<a
70+
filter-selector="document; tbody[render-selector]"
71+
filter-sort-key="_id"
72+
filter-sort-direction=""
73+
click-value="desc, asc"
74+
click-attribute="filter-sort-direction"
75+
class="floating-icon">
76+
<i
77+
toggle-attribute="src"
78+
toggle-value="../assets/svg/sort-down.svg, ../assets/svg/sort-up.svg"
79+
src="../assets/svg/sort.svg"></i>
80+
</a>
81+
</floating-label>
82+
</td>
83+
</tr>
84+
</tbody>
85+
86+
<tbody
87+
state_id="adminOrg"
88+
organization_id=""
89+
host=""
90+
array="files"
91+
object
92+
filter-sort-key="name"
93+
filter-sort-direction="asc"
94+
render-selector="[template]">
95+
<tr
96+
class="border-bottom:1px_solid_darkgray"
97+
template
98+
object="{{object._id}}"
99+
toggle="selected"
100+
toggle-attribute="class">
101+
<td class="display:flex min-width:200px align-items:center">
102+
<div>
103+
<a
104+
actions="state"
105+
state_to="main"
106+
state-src="../admin/organizations/form.html">
107+
<h4>{{object.name}}</h4>
108+
<div
109+
state_to="form-fields"
110+
state-object="{{object._id}}"></div>
111+
</a>
112+
<h5>{{object.email}}</h5>
113+
</div>
114+
</td>
115+
<td>
116+
<a
117+
actions="state"
118+
state_to="main"
119+
state-src="../admin/organizations/form.html">
120+
<b>{{object.ambassadorUrl}}</b>
121+
<div
122+
state_to="form-fields"
123+
state-object="{{object._id}}"></div>
124+
</a>
125+
</td>
126+
<td>
127+
<a
128+
actions="state"
129+
state_to="main"
130+
state-src="../admin/organizations/form.html">
131+
<b>{{object._id}}</b>
132+
<div
133+
state_to="form-fields"
134+
state-object="{{object._id}}"></div>
135+
</a>
136+
</td>
137+
</tr>
138+
</tbody>
139+
</table>
140+
141+
<div filter-on="scroll" filter-previous="[render-selector]"></div>
142+
</div>
143+
</section>

src/admin/files/form.html

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<section class="centered">
2+
<form
3+
state_id="adminOrg, form-fields"
4+
organization_id=""
5+
host=""
6+
array="files"
7+
object=""
8+
class="flex-form">
9+
<div
10+
class="display:flex justify-content:space-between align-items:center font-size:20px width:100%">
11+
<a
12+
actions="state"
13+
state_to="main"
14+
state-src="../admin/organizations/datatable.html"
15+
><i src="../assets/svg/angle-left.svg"></i
16+
></a>
17+
<div
18+
class="display:flex align-items:center transition:0.3s"
19+
hover-selector=".options"
20+
hover-attribute="class"
21+
hover-value="display:flex!important">
22+
<div class="display:none options">
23+
<a
24+
actions="delete, action(next;)"
25+
array="keys"
26+
crud="false"
27+
read="false"
28+
class="padding:0px_10px">
29+
<i src="../assets/svg/trash-alt.svg"></i>
30+
</a>
31+
<a
32+
actions="delete, state"
33+
array="organizations"
34+
crud="false"
35+
read="false"
36+
state_to="main"
37+
state-src="../admin/organizations/datatable.html"
38+
hidden>
39+
<i src="../assets/svg/trash-alt.svg"></i>
40+
</a>
41+
<a
42+
actions="save, state"
43+
state_to="main"
44+
state-src="../admin/organizations/datatable.html"
45+
class="padding:0px_10px">
46+
<i src="../assets/svg/save.svg"></i>
47+
</a>
48+
</div>
49+
<a class="padding-left:10px"
50+
><i src="../assets/svg/ellipsis-v.svg"></i
51+
></a>
52+
</div>
53+
</div>
54+
55+
<floating-label class="width:290px">
56+
<input
57+
type="text"
58+
key="name"
59+
placeholder="Name"
60+
class="floating-label" />
61+
</floating-label>
62+
<floating-label class="width:290px">
63+
<input
64+
type="text"
65+
key="email"
66+
placeholder="Email"
67+
class="floating-label" />
68+
</floating-label>
69+
<floating-label class="width:290px">
70+
<input
71+
type="tel"
72+
key="phone"
73+
placeholder="Phone"
74+
class="floating-label" />
75+
</floating-label>
76+
<floating-label class="width:290px">
77+
<input
78+
type="text"
79+
key="owner"
80+
placeholder="owner"
81+
class="floating-label" />
82+
</floating-label>
83+
84+
<div class="display:flex gap:20px width:100% margin-top:20px">
85+
<button
86+
actions="state"
87+
state_to="main"
88+
state-src="$back"
89+
class="red margin-left:auto">
90+
<i src="../assets/svg/ban.svg"></i>
91+
<span class="margin-left:5px"> Cancel</span>
92+
</button>
93+
<button actions="save">
94+
<i src="../assets/svg/save.svg"></i>
95+
<span class="margin-left:5px"> Save</span>
96+
</button>
97+
</div>
98+
</form>
99+
</section>

src/admin/keys/datatable.html

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<section class="centered">
2+
<div
3+
src="../components/datatable-toolbar.html"
4+
path="../admin/organizations/form.html"
5+
class="width:100%"></div>
6+
7+
<div class="datatable-container">
8+
<table>
9+
<tbody class="header">
10+
<tr>
11+
<td>
12+
<floating-label>
13+
<input
14+
type="text"
15+
filter-selector="document; tbody[render-selector]"
16+
filter-query-key="firstname"
17+
filter-operator="$regex"
18+
filter-regex-flag="i"
19+
placeholder="Name"
20+
class="floating-label" />
21+
<a
22+
filter-selector="document; tbody[render-selector]"
23+
filter-sort-key="firstname"
24+
filter-sort-direction="asc"
25+
click-value="desc, asc"
26+
click-attribute="filter-sort-direction"
27+
class="floating-icon">
28+
<i
29+
toggle-attribute="src"
30+
toggle-value="../assets/svg/sort-down.svg, ../assets/svg/sort-up.svg"
31+
src="../assets/svg/sort.svg"></i>
32+
</a>
33+
</floating-label>
34+
</td>
35+
<td class="min-width:150px">
36+
<floating-label>
37+
<input
38+
type="text"
39+
filter-selector="document; tbody[render-selector]"
40+
filter-query-key="ambassadorUrl"
41+
filter-operator="$regex"
42+
filter-regex-flag="i"
43+
placeholder="Ambassador"
44+
class="floating-label" />
45+
<a
46+
filter-selector="document; tbody[render-selector]"
47+
filter-sort-key="ambassadorUrl"
48+
filter-sort-direction="asc"
49+
click-value="desc, asc"
50+
click-attribute="filter-sort-direction"
51+
class="floating-icon">
52+
<i
53+
toggle-attribute="src"
54+
toggle-value="../assets/svg/sort-down.svg, ../assets/svg/sort-up.svg"
55+
src="../assets/svg/sort.svg"></i>
56+
</a>
57+
</floating-label>
58+
</td>
59+
<td>
60+
<floating-label>
61+
<input
62+
type="text"
63+
filter-selector="document; tbody[render-selector]"
64+
filter-query-key="_id"
65+
filter-operator="$regex"
66+
filter-regex-flag="i"
67+
placeholder="id"
68+
class="floating-label" />
69+
<a
70+
filter-selector="document; tbody[render-selector]"
71+
filter-sort-key="_id"
72+
filter-sort-direction=""
73+
click-value="desc, asc"
74+
click-attribute="filter-sort-direction"
75+
class="floating-icon">
76+
<i
77+
toggle-attribute="src"
78+
toggle-value="../assets/svg/sort-down.svg, ../assets/svg/sort-up.svg"
79+
src="../assets/svg/sort.svg"></i>
80+
</a>
81+
</floating-label>
82+
</td>
83+
</tr>
84+
</tbody>
85+
86+
<tbody
87+
state_id="adminOrg"
88+
organization_id=""
89+
host=""
90+
array="keys"
91+
object
92+
filter-sort-key="name"
93+
filter-sort-direction="asc"
94+
render-selector="[template]">
95+
<tr
96+
class="border-bottom:1px_solid_darkgray"
97+
template
98+
object="{{object._id}}"
99+
toggle="selected"
100+
toggle-attribute="class">
101+
<td class="display:flex min-width:200px align-items:center">
102+
<div>
103+
<a
104+
actions="state"
105+
state_to="main"
106+
state-src="../admin/organizations/form.html">
107+
<h4>{{object.name}}</h4>
108+
<div
109+
state_to="form-fields"
110+
state-object="{{object._id}}"></div>
111+
</a>
112+
<h5>{{object.email}}</h5>
113+
</div>
114+
</td>
115+
<td>
116+
<a
117+
actions="state"
118+
state_to="main"
119+
state-src="../admin/organizations/form.html">
120+
<b>{{object.ambassadorUrl}}</b>
121+
<div
122+
state_to="form-fields"
123+
state-object="{{object._id}}"></div>
124+
</a>
125+
</td>
126+
<td>
127+
<a
128+
actions="state"
129+
state_to="main"
130+
state-src="../admin/organizations/form.html">
131+
<b>{{object._id}}</b>
132+
<div
133+
state_to="form-fields"
134+
state-object="{{object._id}}"></div>
135+
</a>
136+
</td>
137+
</tr>
138+
</tbody>
139+
</table>
140+
141+
<div filter-on="scroll" filter-previous="[render-selector]"></div>
142+
</div>
143+
</section>

0 commit comments

Comments
 (0)