Mercurial > gemma
annotate client/src/lib/mixins.js @ 3072:0233845cadb7
client: improved splitscreen mechanis
Added possibility to define lifecycle hooks for components in panes. Created Pane component.
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Wed, 17 Apr 2019 10:53:13 +0200 |
parents | 87d34efafb3a |
children | db890b71f070 |
rev | line source |
---|---|
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
2 * without warranty, see README.md and license for details. |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
3 * |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
4 * SPDX-License-Identifier: AGPL-3.0-or-later |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
5 * License-Filename: LICENSES/AGPL-3.0.txt |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
6 * |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
7 * Copyright (C) 2018 by via donau |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
8 * – Österreichische Wasserstraßen-Gesellschaft mbH |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
9 * Software engineering by Intevation GmbH |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
10 * |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
11 * Author(s): |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
12 * Markus Kottländer <markus.kottlaender@intevation.de> |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
13 */ |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
14 |
2989
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
15 import * as uuidGen from "uuid"; |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
16 |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
17 const sortTable = { |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
18 data() { |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
19 return { |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
20 sortColumn: "", |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
21 sortDirection: "ASC", |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
22 pageSize: 20, |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
23 page: 1 |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
24 }; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
25 }, |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
26 methods: { |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
27 sortTable(sorting) { |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
28 this.sortColumn = sorting.sortColumn; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
29 this.sortDirection = sorting.sortDirection; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
30 } |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
31 } |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
32 }; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
33 |
2989
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
34 const uuid = { |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
35 computed: { |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
36 uuid() { |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
37 return uuidGen.v4(); |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
38 } |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
39 } |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
40 }; |
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
41 |
3072
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
42 const paneHooks = { |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
43 props: { |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
44 paneCreated: Function, |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
45 paneMounted: Function, |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
46 paneUpdated: Function, |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
47 paneDestroyed: Function |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
48 }, |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
49 created() { |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
50 if (this.paneCreated) this.paneCreated(); |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
51 }, |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
52 mounted() { |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
53 if (this.paneMounted) this.paneMounted(); |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
54 }, |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
55 updated() { |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
56 if (this.paneUpdated) this.paneUpdated(); |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
57 }, |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
58 destroyed() { |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
59 if (this.paneDestroyed) this.paneDestroyed(); |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
60 } |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
61 }; |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
62 |
0233845cadb7
client: improved splitscreen mechanis
Markus Kottlaender <markus@intevation.de>
parents:
2989
diff
changeset
|
63 export { sortTable, uuid, paneHooks }; |