This commit is contained in:
@@ -50,20 +50,17 @@ All platforms and browsers
|
||||
- DONE Not authorized for this object 403 (could be due to not own or whatever, we don't care, server handles that shit, client just knows not to show it)
|
||||
- DONE Object...BUT with READONLY flag of some kind present (in outer wrapper??), so client knows to show read only and not allow editing
|
||||
- DONE And client doesn't need to work out self owned etc
|
||||
- DONE Object without readonly flag present so fully editable!!! WOOT!
|
||||
- Form (AND THE LIST OBJECT) should check rights and adapt accordingly
|
||||
- ReadFULL record but no change should show record read only
|
||||
- To test use accounts: ReadFullRecord = AuthorizationRoles.BizAdminLimited | AuthorizationRoles.InventoryLimited
|
||||
- WidgetList should check if even possible to read any part of record, if not then no link to edit
|
||||
- WidgetList should check if Own record possible and check the list object for owner ID (maybe all lists will need to provide owner ID's?)
|
||||
- Delete should be checked
|
||||
- CHANGE should be checked
|
||||
- DONE Object without readonly flag present so fully editable!!! WOOT!
|
||||
- DONE If no rights then should redirect back to HOME, NOT LOGIN!!!
|
||||
- DONE user with no rights = SubContractorLimited
|
||||
- TODO LIST OBJECT RESEARCH / DECISION
|
||||
- TODO: ?? DECISION server widget lists and other lists
|
||||
- Either the list should show items with alternate icons to EDIT if they are read only or...
|
||||
- Use a generic OPEN icon and link instead and user doesn't see status until they open it.
|
||||
- Use a generic OPEN icon and link instead and user doesn't see status until they open it.
|
||||
- ReadFULL record but no change should show record read only
|
||||
- To test use accounts: ReadFullRecord = AuthorizationRoles.BizAdminLimited | AuthorizationRoles.InventoryLimited
|
||||
- WidgetList should check if even possible to read any part of record, if not then no link to edit
|
||||
- WidgetList should check if Own record possible and check the list object for owner ID (maybe all lists will need to provide owner ID's?)
|
||||
- DONE BIG TODO: it would be far nicer if rights to objects were stored in a single JSON fragment that could be easily copied into javascript and c#
|
||||
- DONE code automatically builds rights collection from json fragment so can use it between both projects and more easily update it in one central spot
|
||||
- DONE Get that working then come back to the rest of the rights in client side
|
||||
@@ -73,6 +70,7 @@ All platforms and browsers
|
||||
- DONE was not calling promises correctly and not chaining them properly. Fixed
|
||||
- Wire up delete menu item
|
||||
- api code is stubbed out for delete, need to write that as well
|
||||
- Need prompt, are you sure??
|
||||
- DONE TODO navigating through menu doesn't "back" properly when clicking back on browser controls
|
||||
- DONE widget form now not localized title at menu top
|
||||
|
||||
|
||||
@@ -2,4 +2,8 @@ VUE COMMAND LINE INTERFACE
|
||||
run vue cli from anywhere
|
||||
|
||||
VUE GUI INTERFACE
|
||||
run vue ui from project folder (or maybe anywhere not sure)
|
||||
run vue ui from project folder (or maybe anywhere not sure)
|
||||
|
||||
Dialogs and toasts etc:
|
||||
https://www.npmjs.com/package/vuetify-dialog
|
||||
Tested on phone, iPad, MSEDGE worked ok, probably fine, easy to use fuck it throwing it in
|
||||
145
ayanova/package-lock.json
generated
145
ayanova/package-lock.json
generated
@@ -4475,7 +4475,7 @@
|
||||
},
|
||||
"camelcase-keys": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
|
||||
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -7588,14 +7588,14 @@
|
||||
"dev": true
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
|
||||
"integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
|
||||
"integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"nan": "^2.9.2",
|
||||
"node-pre-gyp": "^0.10.0"
|
||||
"nan": "^2.12.1",
|
||||
"node-pre-gyp": "^0.12.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"abbrev": {
|
||||
@@ -7616,7 +7616,7 @@
|
||||
"optional": true
|
||||
},
|
||||
"are-we-there-yet": {
|
||||
"version": "1.1.4",
|
||||
"version": "1.1.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
@@ -7628,21 +7628,19 @@
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"chownr": {
|
||||
"version": "1.0.1",
|
||||
"version": "1.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
@@ -7650,20 +7648,17 @@
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
@@ -7672,16 +7667,16 @@
|
||||
"optional": true
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"version": "4.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"deep-extend": {
|
||||
"version": "0.5.1",
|
||||
"version": "0.6.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
@@ -7730,7 +7725,7 @@
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.2",
|
||||
"version": "7.1.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
@@ -7750,12 +7745,12 @@
|
||||
"optional": true
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.21",
|
||||
"version": "0.4.24",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safer-buffer": "^2.1.0"
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
}
|
||||
},
|
||||
"ignore-walk": {
|
||||
@@ -7780,8 +7775,7 @@
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
@@ -7793,7 +7787,6 @@
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
@@ -7808,7 +7801,6 @@
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
@@ -7819,16 +7811,16 @@
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.2.4",
|
||||
"version": "2.3.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.1",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"minizlib": {
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
@@ -7845,35 +7837,35 @@
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"needle": {
|
||||
"version": "2.2.0",
|
||||
"version": "2.3.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"debug": "^2.1.2",
|
||||
"debug": "^4.1.0",
|
||||
"iconv-lite": "^0.4.4",
|
||||
"sax": "^1.2.4"
|
||||
}
|
||||
},
|
||||
"node-pre-gyp": {
|
||||
"version": "0.10.0",
|
||||
"version": "0.12.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"detect-libc": "^1.0.2",
|
||||
"mkdirp": "^0.5.1",
|
||||
"needle": "^2.2.0",
|
||||
"needle": "^2.2.1",
|
||||
"nopt": "^4.0.1",
|
||||
"npm-packlist": "^1.1.6",
|
||||
"npmlog": "^4.0.2",
|
||||
"rc": "^1.1.7",
|
||||
"rc": "^1.2.7",
|
||||
"rimraf": "^2.6.1",
|
||||
"semver": "^5.3.0",
|
||||
"tar": "^4"
|
||||
@@ -7890,13 +7882,13 @@
|
||||
}
|
||||
},
|
||||
"npm-bundled": {
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.6",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"npm-packlist": {
|
||||
"version": "1.1.10",
|
||||
"version": "1.4.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
@@ -7920,8 +7912,7 @@
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@@ -7933,7 +7924,6 @@
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
@@ -7973,12 +7963,12 @@
|
||||
"optional": true
|
||||
},
|
||||
"rc": {
|
||||
"version": "1.2.7",
|
||||
"version": "1.2.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"deep-extend": "^0.5.1",
|
||||
"deep-extend": "^0.6.0",
|
||||
"ini": "~1.3.0",
|
||||
"minimist": "^1.2.0",
|
||||
"strip-json-comments": "~2.0.1"
|
||||
@@ -8008,16 +7998,16 @@
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.2",
|
||||
"version": "2.6.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"glob": "^7.0.5"
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.1",
|
||||
"version": "5.1.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
@@ -8034,7 +8024,7 @@
|
||||
"optional": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.5.0",
|
||||
"version": "5.7.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
@@ -8055,7 +8045,6 @@
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
@@ -8086,17 +8075,17 @@
|
||||
"optional": true
|
||||
},
|
||||
"tar": {
|
||||
"version": "4.4.1",
|
||||
"version": "4.4.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"chownr": "^1.0.1",
|
||||
"chownr": "^1.1.1",
|
||||
"fs-minipass": "^1.2.5",
|
||||
"minipass": "^2.2.4",
|
||||
"minizlib": "^1.1.0",
|
||||
"minipass": "^2.3.4",
|
||||
"minizlib": "^1.1.1",
|
||||
"mkdirp": "^0.5.0",
|
||||
"safe-buffer": "^5.1.1",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.2"
|
||||
}
|
||||
},
|
||||
@@ -8107,12 +8096,12 @@
|
||||
"optional": true
|
||||
},
|
||||
"wide-align": {
|
||||
"version": "1.1.2",
|
||||
"version": "1.1.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"string-width": "^1.0.2"
|
||||
"string-width": "^1.0.2 || 2"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
@@ -8121,7 +8110,7 @@
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.2",
|
||||
"version": "3.0.3",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
}
|
||||
@@ -8175,7 +8164,7 @@
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -11651,7 +11640,7 @@
|
||||
},
|
||||
"meow": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
|
||||
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -11669,7 +11658,7 @@
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"dev": true
|
||||
}
|
||||
@@ -11972,9 +11961,9 @@
|
||||
}
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.11.1",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
|
||||
"integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
|
||||
"version": "2.13.2",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
|
||||
"integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
@@ -12091,7 +12080,7 @@
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
|
||||
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
|
||||
"dev": true
|
||||
}
|
||||
@@ -12214,7 +12203,7 @@
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -12249,7 +12238,7 @@
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -14528,7 +14517,7 @@
|
||||
},
|
||||
"os-locale": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
|
||||
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -14537,7 +14526,7 @@
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -16682,6 +16671,11 @@
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
|
||||
"integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
|
||||
},
|
||||
"vue-asyncable": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-asyncable/-/vue-asyncable-0.2.0.tgz",
|
||||
"integrity": "sha512-AKuYhnjwMVrOgPct9WYbK4S7aMaHbWbznWY8IrCJsHS0pyEZc7lnpilJLGhH3MmRoQL43M0ofPJyHuxnu30McQ=="
|
||||
},
|
||||
"vue-cli-plugin-vuetify": {
|
||||
"version": "0.4.6",
|
||||
"resolved": "https://registry.npmjs.org/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-0.4.6.tgz",
|
||||
@@ -16784,11 +16778,28 @@
|
||||
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
|
||||
"dev": true
|
||||
},
|
||||
"vuedl": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vuedl/-/vuedl-0.3.0.tgz",
|
||||
"integrity": "sha512-y+aYI7cvLfScwGlaGDx1HxCf+Ke8ZEoct98r/jr9ETMSg7dErYrBOxqJjFPWGQmj8rCM58XZ+hs02/3DL0sStw==",
|
||||
"requires": {
|
||||
"vue-asyncable": "^0.2.0"
|
||||
}
|
||||
},
|
||||
"vuetify": {
|
||||
"version": "1.5.14",
|
||||
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-1.5.14.tgz",
|
||||
"integrity": "sha512-7iM+TfghR/wu/Gl+k37lKr0N8Ddr6SxzqHtoK1dIyHgCH6SJRkpaXPw2MC5/FsAg9aUDJbYNWrzSeu5eHw+Q/w=="
|
||||
},
|
||||
"vuetify-dialog": {
|
||||
"version": "0.3.4",
|
||||
"resolved": "https://registry.npmjs.org/vuetify-dialog/-/vuetify-dialog-0.3.4.tgz",
|
||||
"integrity": "sha512-tvMBTWO9b5hw9PKntQgwUYvfqcnCsX6cHa5VpZ1I0LFpPPB04gd2Oys2hMrueS8rUS++qBP+zdDSamOPU5z40g==",
|
||||
"requires": {
|
||||
"vue-asyncable": "^0.2.0",
|
||||
"vuedl": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"vuex": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/vuex/-/vuex-3.1.0.tgz",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"vue": "^2.6.10",
|
||||
"vue-router": "^3.0.6",
|
||||
"vuetify": "^1.5.14",
|
||||
"vuetify-dialog": "^0.3.4",
|
||||
"vuex": "^3.1.0",
|
||||
"vuex-persistedstate": "^2.5.4"
|
||||
},
|
||||
|
||||
@@ -180,6 +180,14 @@ export default {
|
||||
headers: this.postAuthorizedHeaders()
|
||||
};
|
||||
},
|
||||
fetchRemoveOptions() {
|
||||
/* REMOVE WITH AUTH */
|
||||
return {
|
||||
method: "delete",
|
||||
mode: "cors",
|
||||
headers: this.postAuthorizedHeaders()
|
||||
};
|
||||
},
|
||||
APIUrl(apiPath) {
|
||||
if ("" == store.state.apiUrl) {
|
||||
//construct the api url and store it
|
||||
@@ -292,6 +300,24 @@ export default {
|
||||
handleError("UPSERT", error, route, reject);
|
||||
});
|
||||
});
|
||||
},
|
||||
///////////////////////////////////
|
||||
// DELETE DATA FROM API SERVER
|
||||
//
|
||||
remove(route) {
|
||||
var that = this;
|
||||
return new Promise(function removeDataFromServer(resolve, reject) {
|
||||
fetch(that.APIUrl(route), that.fetchRemoveOptions())
|
||||
.then(that.status)
|
||||
//.then(that.json)
|
||||
.then(response => {
|
||||
resolve(response);
|
||||
})
|
||||
.catch(function handleRemoveError(error) {
|
||||
//fundamental error, can't proceed with this call
|
||||
handleError("DELETE", error, route, reject);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//new functions above here
|
||||
|
||||
@@ -502,5 +502,12 @@ export default {
|
||||
newState.vm.formState.readOnly = newState.readOnly;
|
||||
}
|
||||
});
|
||||
},
|
||||
async confirm(vm) {
|
||||
const res = await vm.$dialog.confirm({
|
||||
text: "Do you really want to exit?",
|
||||
title: "Warning"
|
||||
});
|
||||
return res;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -12,6 +12,8 @@ import NProgress from "nprogress";
|
||||
import "nprogress/nprogress.css";
|
||||
import dayjs from "dayjs";
|
||||
import lodash from "./libs/lodash.min.js";
|
||||
import VuetifyDialog from "vuetify-dialog";
|
||||
|
||||
//my libs
|
||||
import gzeventbus from "./api/eventbus";
|
||||
import gzmenu from "./api/gzmenu";
|
||||
@@ -22,7 +24,6 @@ import gzform from "./api/gzform";
|
||||
import roles from "./api/authorizationroles";
|
||||
import gztype from "./api/ayatype";
|
||||
import "@/assets/css/main.css";
|
||||
|
||||
import gzdateandtimepicker from "./components/gzdateandtimepicker.vue";
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
@@ -46,11 +47,6 @@ Object.defineProperty(Vue.prototype, "$gzdevmode", {
|
||||
value: errorHandler.devMode
|
||||
});
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
// FORM VALIDATION
|
||||
//
|
||||
//TODO: CODE THIS
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
// ERROR HANDLING
|
||||
//
|
||||
@@ -147,6 +143,11 @@ Vue.filter("boolastext", function vueFilterBoolAsText(value) {
|
||||
//
|
||||
Vue.component("gz-date-time-picker", gzdateandtimepicker);
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
//3rd party ui components
|
||||
//
|
||||
Vue.use(VuetifyDialog);
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
// INSTANTIATE
|
||||
//
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/* xeslint-disable */
|
||||
/* eslint-disable */
|
||||
|
||||
/////////////////////////////
|
||||
//
|
||||
@@ -401,16 +401,69 @@ export default {
|
||||
}
|
||||
},
|
||||
remove() {
|
||||
//check rights
|
||||
//Prompt:
|
||||
|
||||
//do the delete
|
||||
alert("STUB: DELETE");
|
||||
this.formState.loading = true;
|
||||
var url = "Widget/" + this.$route.params.id;
|
||||
//TODO: check if it's a new record (no ID) or one from server (has id)
|
||||
var vm = this;
|
||||
this.$gzform.deleteAllErrorBoxErrors(this);
|
||||
this.$gzapi
|
||||
.remove(url)
|
||||
.then(res => {
|
||||
if (res.error) {
|
||||
vm.formState.serverError = res.error;
|
||||
vm.$gzform.setErrorBoxErrors(vm);
|
||||
} else {
|
||||
//success, navigate backwards
|
||||
vm.$router.go(-1);
|
||||
}
|
||||
})
|
||||
.catch(function handleGetDataFromAPIError(error) {
|
||||
//Update the form status
|
||||
vm.$gzform.setFormState({
|
||||
vm: vm,
|
||||
loading: false
|
||||
});
|
||||
vm.$gzHandleFormError(error, vm);
|
||||
});
|
||||
},
|
||||
duplicate() {
|
||||
//this.$gzrole.getRights(this, this.$gztype.Widget, this.obj.ownerId);
|
||||
this.$gzevent.$emit(
|
||||
"popup-message",
|
||||
"This is a test popup message\r\nDUPLICATE ALL THE THINGS!"
|
||||
);
|
||||
console.log("About to dialog");
|
||||
|
||||
|
||||
this.$dialog.confirm({
|
||||
text: "Do you really want to exit?",
|
||||
title: "Warning"
|
||||
}).then(res => {
|
||||
console.log("The dialog result is:");
|
||||
console.log(res);
|
||||
});
|
||||
|
||||
|
||||
//console.log(this.$gzform.confirm(this));
|
||||
|
||||
|
||||
|
||||
// this.$dialog.error({
|
||||
// text: "Cannot delete this item",
|
||||
// title: "Error"
|
||||
// });
|
||||
console.log("Done dialog");
|
||||
|
||||
// this.$dialog.notify.info("Test notification", {
|
||||
// position: "top-right",
|
||||
// timeout: 5000
|
||||
// });
|
||||
|
||||
// this.$dialog.message.info("Test", {
|
||||
// position: "top-left"
|
||||
// });
|
||||
// this.$gzevent.$emit(
|
||||
// "popup-message",
|
||||
// "This is a test popup message\r\nDUPLICATE ALL THE THINGS!"
|
||||
// );
|
||||
//only if not dirty
|
||||
//check rights
|
||||
//duplicate
|
||||
|
||||
Reference in New Issue
Block a user