crator and messageResponse

This commit is contained in:
saeid
2019-04-24 21:20:12 +04:30
parent df660dd7d4
commit fc162db99b
29 changed files with 460 additions and 817 deletions
+10 -1
View File
@@ -60,5 +60,14 @@
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
},
"repositories": [
{
"type": "path",
"path": "packages/wm-messaging",
"options": {
"symlink": true
}
}
]
}
+1 -2
View File
@@ -174,7 +174,6 @@ return [
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\MessageServiceProvider::class,
Laravel\Passport\PassportServiceProvider::class,
],
@@ -227,7 +226,7 @@ return [
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'MessageResponse' => App\Appended\Classes\Common\Response\Facades\MessageResponse::class,
'MessageResponse' => packages\messaging\src\Facades\MessageResponse::class,
],
+14
View File
@@ -0,0 +1,14 @@
{
"name": "wm/messaging",
"description": "The Laravel Framework.",
"keywords": [
"messaging",
"laravel"
],
"license": "MIT",
"autoload": {
"psr-4": {
"Messaging\\": "src/"
}
}
}
@@ -0,0 +1,11 @@
<?php
namespace packages\messaging\src\Facades;
use Illuminate\Support\Facades\Facade;
use packages\messaging\src\Message;
class MessageResponse extends Facade {
protected static function getFacadeAccessor() { return Message::class; }
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace packages\messaging\src;
class Message
{
public function view($view = null, $data = null)
{
return response()->json(['data' => $data, 'view' => $view], 200);
}
public function success($message = null, $title = null, $status = 'Success' , $data = null , $view = null )
{
$message = isset($message) ? $message : trans('messages.success_title');
$title = isset($title) ? $title : trans('messages.success');
return response()->json(['status' => $status, 'message' => $message, 'title' => $title, 'data' => $data, 'view' => $view], 200);
}
public function error($message = null, $title = null, $status = 'Faild', $statusCode = 422 )
{
$message = isset($message) ? $message : trans('messages.faild_message');
$title = isset($title) ? $title : trans('messages.faild');
return response()->json(['status' => $status, 'errors' => ['message' => [$message, 'Title' => $title]]], $statusCode);
}
}
Vendored
+1 -1
View File
@@ -166,7 +166,7 @@ var debugs = {};
var debugEnviron;
exports.debuglog = function(set) {
if (isUndefined(debugEnviron))
debugEnviron = Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"/api/","MIX_APP_CLIENT_ID":"2","MIX_APP_CLIENT_SECRET":"I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3","NODE_ENV":"development"}).NODE_DEBUG || '';
debugEnviron = Object({"MIX_APP_CLIENT_ID":"2","MIX_APP_CLIENT_SECRET":"vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE","MIX_APP_ROOT_API":"/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).NODE_DEBUG || '';
set = set.toUpperCase();
if (!debugs[set]) {
if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
Vendored
+1 -1
View File
@@ -210,7 +210,7 @@ __webpack_require__.r(__webpack_exports__);
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\n top: -25px !important;\n}\n", ""]);
exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\r\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\r\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\r\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\r\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\r\n top: -25px !important;\n}\r\n", ""]);
+6 -2
View File
@@ -168,7 +168,9 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
this.items = result.data.users;
this.name = result.data.name;
} else {
this.$router.push("/dashboard");
this.$router.push({
name: "Dashboard"
});
}
case 4:
@@ -257,7 +259,9 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
break;
case 25:
this.$router.push("/dashboard");
this.$router.push({
name: "Dashboard"
});
case 26:
case "end":
+6 -1
View File
@@ -153,7 +153,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
result = _context.sent;
if (result && result.status == 200) {
this.$router.push("/operator-list/".concat(this.form.medical_center_id));
this.$router.push({
name: "OperatorList",
params: {
medicalCenter: this.form.medical_center_id
}
});
}
case 5:
+2 -155
View File
@@ -1,166 +1,13 @@
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[18],{
/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&":
/*!******************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
name: "",
data: function data() {
return {};
}
});
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& ***!
\**********************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"v-form",
[
_c(
"v-container",
{ attrs: { "grid-list-xs": "" } },
[
_c(
"v-layout",
{ attrs: { row: "", wrap: "" } },
[
_c(
"material-card",
{ attrs: { color: "black", title: "User Info" } },
[
_c(
"v-flex",
{ attrs: { xs12: "", sm4: "", md4: "" } },
[
_c("v-text-field", {
attrs: { name: "name", label: "label", id: "id" }
})
],
1
)
],
1
)
],
1
)
],
1
)
],
1
)
}
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ "./resources/js/vue/views/SuperVisior/UserInfo.vue":
/*!*********************************************************!*\
!*** ./resources/js/vue/views/SuperVisior/UserInfo.vue ***!
\*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& */ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&");
/* harmony import */ var _UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserInfo.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
/* normalize component */
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
_UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"ad4fa66e",
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "resources/js/vue/views/SuperVisior/UserInfo.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&":
/*!**********************************************************************************!*\
!*** ./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js& ***!
\**********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserInfo.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&":
/*!****************************************************************************************************!*\
!*** ./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& ***!
\****************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/***/ (function(module, exports) {
throw new Error("Module build failed (from ./node_modules/vue-loader/lib/index.js):\nError: ENOENT: no such file or directory, open 'D:\\Atom\\Git\\Laravel_CSSD\\resources\\js\\vue\\views\\SuperVisior\\UserInfo.vue'");
/***/ })
+2 -319
View File
@@ -1,330 +1,13 @@
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[19],{
/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js& ***!
\***************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
return {
search: '',
headers: [{
text: 'Dessert (100g serving)',
align: 'left',
sortable: false,
value: 'name'
}, {
text: 'Calories',
value: 'calories'
}, {
text: 'Fat (g)',
value: 'fat'
}, {
text: 'Carbs (g)',
value: 'carbs'
}, {
text: 'Protein (g)',
value: 'protein'
}, {
text: 'Iron (%)',
value: 'iron'
}],
desserts: [{
name: 'Frozen Yogurt',
calories: 159,
fat: 6.0,
carbs: 24,
protein: 4.0,
iron: '1%'
}, {
name: 'Ice cream sandwich',
calories: 237,
fat: 9.0,
carbs: 37,
protein: 4.3,
iron: '1%'
}, {
name: 'Eclair',
calories: 262,
fat: 16.0,
carbs: 23,
protein: 6.0,
iron: '7%'
}, {
name: 'Cupcake',
calories: 305,
fat: 3.7,
carbs: 67,
protein: 4.3,
iron: '8%'
}, {
name: 'Gingerbread',
calories: 356,
fat: 16.0,
carbs: 49,
protein: 3.9,
iron: '16%'
}, {
name: 'Jelly bean',
calories: 375,
fat: 0.0,
carbs: 94,
protein: 0.0,
iron: '0%'
}, {
name: 'Lollipop',
calories: 392,
fat: 0.2,
carbs: 98,
protein: 0,
iron: '2%'
}, {
name: 'Honeycomb',
calories: 408,
fat: 3.2,
carbs: 87,
protein: 6.5,
iron: '45%'
}, {
name: 'Donut',
calories: 452,
fat: 25.0,
carbs: 51,
protein: 4.9,
iron: '22%'
}, {
name: 'KitKat',
calories: 518,
fat: 26.0,
carbs: 65,
protein: 7,
iron: '6%'
}]
};
}
});
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&":
/*!*******************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224& ***!
\*******************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"v-card",
[
_c(
"v-card-title",
[
_vm._v("\n Nutrition\n "),
_c("v-spacer"),
_vm._v(" "),
_c("v-text-field", {
attrs: {
"append-icon": "search",
label: "Search",
"single-line": "",
"hide-details": ""
},
model: {
value: _vm.search,
callback: function($$v) {
_vm.search = $$v
},
expression: "search"
}
})
],
1
),
_vm._v(" "),
_c(
"v-data-table",
{
attrs: {
headers: _vm.headers,
items: _vm.desserts,
search: _vm.search
},
scopedSlots: _vm._u([
{
key: "items",
fn: function(props) {
return [
_c("td", [_vm._v(_vm._s(props.item.name))]),
_vm._v(" "),
_c("td", { staticClass: "text-xs-right" }, [
_vm._v(_vm._s(props.item.calories))
]),
_vm._v(" "),
_c("td", { staticClass: "text-xs-right" }, [
_vm._v(_vm._s(props.item.fat))
]),
_vm._v(" "),
_c("td", { staticClass: "text-xs-right" }, [
_vm._v(_vm._s(props.item.carbs))
]),
_vm._v(" "),
_c("td", { staticClass: "text-xs-right" }, [
_vm._v(_vm._s(props.item.protein))
]),
_vm._v(" "),
_c("td", { staticClass: "text-xs-right" }, [
_vm._v(_vm._s(props.item.iron))
])
]
}
}
])
},
[
_vm._v(" "),
_c("v-alert", {
attrs: { value: true, color: "error", icon: "warning" },
scopedSlots: _vm._u([
{
key: "no-results",
fn: function() {
return [
_vm._v(
'\n Your search for "' +
_vm._s(_vm.search) +
'" found no results.\n '
)
]
},
proxy: true
}
])
})
],
1
)
],
1
)
}
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ "./resources/js/vue/views/SuperVisior/table.vue":
/*!******************************************************!*\
!*** ./resources/js/vue/views/SuperVisior/table.vue ***!
\******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./table.vue?vue&type=template&id=826d5224& */ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&");
/* harmony import */ var _table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./table.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
/* normalize component */
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
_table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["render"],
_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "resources/js/vue/views/SuperVisior/table.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&":
/*!*******************************************************************************!*\
!*** ./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js& ***!
\*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib??vue-loader-options!./table.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&":
/*!*************************************************************************************!*\
!*** ./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224& ***!
\*************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./table.vue?vue&type=template&id=826d5224& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/***/ (function(module, exports) {
throw new Error("Module build failed (from ./node_modules/vue-loader/lib/index.js):\nError: ENOENT: no such file or directory, open 'D:\\Atom\\Git\\Laravel_CSSD\\resources\\js\\vue\\views\\SuperVisior\\table.vue'");
/***/ })
Vendored
+33 -4
View File
@@ -12,6 +12,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js");
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
/* harmony import */ var _config_urls__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/config/urls */ "./resources/js/vue/config/urls.js");
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
@@ -96,6 +97,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
return {
@@ -139,7 +141,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
case 0:
page = _args.length > 0 && _args[0] !== undefined ? _args[0] : 1;
_context.next = 3;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get("MedicalCenters?page=" + page);
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get(_config_urls__WEBPACK_IMPORTED_MODULE_2__["urls"].listMedicalCenter(page));
case 3:
result = _context.sent;
@@ -217,7 +219,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\n padding: 8px 22px;\n}\n", ""]);
exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\r\n padding: 8px 22px;\n}\r\n", ""]);
@@ -427,7 +429,10 @@ var render = function() {
"router-link",
{
attrs: {
to: "/medical-center/" + item.id + "/edit"
to: {
name: "EditMedicalCenter",
params: { id: item.id }
}
}
},
[
@@ -458,7 +463,12 @@ var render = function() {
_c(
"router-link",
{
attrs: { to: "/operator-list/" + item.id }
attrs: {
to: {
name: "OperatorList",
params: { medicalCenter: item.id }
}
}
},
[
_c(
@@ -599,6 +609,25 @@ render._withStripped = true
/***/ }),
/***/ "./resources/js/vue/config/urls.js":
/*!*****************************************!*\
!*** ./resources/js/vue/config/urls.js ***!
\*****************************************/
/*! exports provided: urls */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "urls", function() { return urls; });
var urls = {
listMedicalCenter: function listMedicalCenter(page) {
return "/MedicalCenters?page=" + page;
}
};
/***/ }),
/***/ "./resources/js/vue/views/ManageMedicalCenter.vue":
Vendored
+136 -35
View File
@@ -268,6 +268,29 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
@@ -276,6 +299,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
name: "",
unique_code: "",
info: [{
id: 0,
name: "",
type: "",
size: ""
@@ -283,22 +307,49 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
},
type: [{
state: "Text",
abbr: "text"
abbr: "Text"
}, {
state: "Checkbox",
abbr: "checkbox"
abbr: "Checkbox"
}, {
state: "Select",
abbr: "select"
abbr: "Select"
}, {
state: "Form",
abbr: "form"
}]
abbr: "Form"
}],
size: [{
state: "not Selected",
abbr: ""
}, {
state: "2 as 12",
abbr: "col-md-2"
}, {
state: "3 as 12",
abbr: "col-md-3"
}, {
state: "4 as 12",
abbr: "col-md-4"
}, {
state: "6 as 12",
abbr: "col-md-6"
}, {
state: "8 as 12",
abbr: "col-md-8"
}, {
state: "10 as 12",
abbr: "col-md-10"
}],
rules: {
required: function required(value) {
return !!value || "Required.";
}
}
};
},
methods: {
changeType: function changeType(infoIndex, selectedboxType) {
if (selectedboxType == "select" || selectedboxType == "checkbox") {
if (selectedboxType == "Select" || selectedboxType == "Checkbox") {
this.form.info[infoIndex]["options"] = [{
title: ""
}];
@@ -306,8 +357,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
this.form.info[infoIndex]["options"] = [];
}
if (selectedboxType == "form") {
if (selectedboxType == "Form") {
this.form.info[infoIndex]["children"] = [{
id: 0,
name: "",
type: "",
size: ""
@@ -330,13 +382,14 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
},
addInput: function addInput() {
this.form.info.push({
id: 0,
name: "",
type: "",
size: ""
});
},
changeTypeForm: function changeTypeForm(infoIndex, type, formLevel) {
if (type == "select" || type == "checkbox") {
if (type == "Select" || type == "Checkbox") {
var form = this.form;
this.form = "";
form.info[infoIndex]["children"][formLevel]["options"] = [{
@@ -368,6 +421,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
var form = this.form;
this.form = [];
form.info[infoIndex]["children"].push({
id: 0,
name: "",
type: "",
size: ""
@@ -380,6 +434,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
form.info[infoIndex]["children"].splice(formLevel, 1);
this.form = form;
},
removeInput: function removeInput(infoIndex) {
var form = this.form;
this.form = [];
form.info.splice(infoIndex, 1);
this.form = form;
},
registerForm: function () {
var _registerForm = _asyncToGenerator(
/*#__PURE__*/
@@ -401,7 +461,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
result = _context.sent;
if (result && result.status == 200) {
this.$router.push("/dashboard");
this.$router.push({
name: "Dashboard"
});
}
case 5:
@@ -432,7 +494,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\n background-color: #f5f5f5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n bottom: -24px !important;\n}\n", ""]);
exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\r\n background-color: #f5f5f5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n bottom: -24px !important;\n}\r\n", ""]);
@@ -497,10 +559,7 @@ var render = function() {
[
_c(
"v-layout",
{
staticClass: "ma-2",
attrs: { row: "", wrap: "", id: "Form" }
},
{ staticClass: "ma-2", attrs: { row: "", wrap: "" } },
[
_c(
"v-flex",
@@ -508,7 +567,12 @@ var render = function() {
[
_c("v-text-field", {
staticClass: "pa-2",
attrs: { name: "name", label: "Name", color: "black" },
attrs: {
name: "name",
label: "Name",
color: "black",
rules: [_vm.rules.required]
},
model: {
value: _vm.form.name,
callback: function($$v) {
@@ -528,6 +592,7 @@ var render = function() {
_c("v-text-field", {
staticClass: "pa-2",
attrs: {
rules: [_vm.rules.required],
name: "uniquecode",
label: "Unique Code",
color: "black"
@@ -559,10 +624,7 @@ var render = function() {
[
_c(
"v-layout",
{
staticClass: "ma-2",
attrs: { row: "", wrap: "", id: "Form" }
},
{ staticClass: "ma-2", attrs: { row: "", wrap: "" } },
[
_c(
"v-flex",
@@ -573,7 +635,8 @@ var render = function() {
attrs: {
name: "inputname",
label: "Input Name",
color: "black"
color: "black",
rules: [_vm.rules.required]
},
model: {
value: info.name,
@@ -622,11 +685,14 @@ var render = function() {
"v-flex",
{ attrs: { xs12: "", md3: "", sm3: "" } },
[
_c("v-text-field", {
_c("v-select", {
staticClass: "pa-2",
attrs: {
name: "size",
label: "Size",
items: _vm.size,
"item-text": "state",
"item-value": "abbr",
label: "Type",
"single-line": "",
color: "black"
},
model: {
@@ -644,7 +710,7 @@ var render = function() {
1
),
_vm._v(" "),
info.type === "select" || info.type === "checkbox"
info.type === "Select" || info.type === "Checkbox"
? _c(
"v-layout",
{
@@ -676,6 +742,7 @@ var render = function() {
_c("v-text-field", {
staticClass: "pa-2 Input",
attrs: {
rules: [_vm.rules.required],
name: "title",
label: "Title",
color: "black"
@@ -766,7 +833,7 @@ var render = function() {
)
: _vm._e(),
_vm._v(" "),
info.type === "form"
info.type === "Form"
? _c(
"v-layout",
{
@@ -795,6 +862,7 @@ var render = function() {
_c("v-text-field", {
staticClass: "pa-2",
attrs: {
rules: [_vm.rules.required],
name: "name",
label: "Input Name",
color: "black"
@@ -850,11 +918,14 @@ var render = function() {
"v-flex",
{ attrs: { xs12: "", md3: "", sm3: "" } },
[
_c("v-text-field", {
_c("v-select", {
staticClass: "pa-2",
attrs: {
name: "size",
label: "Size",
items: _vm.size,
"item-text": "state",
"item-value": "abbr",
label: "Type",
"single-line": "",
color: "black"
},
model: {
@@ -869,8 +940,8 @@ var render = function() {
1
),
_vm._v(" "),
children.type === "select" ||
children.type === "checkbox"
children.type === "Select" ||
children.type === "Checkbox"
? _c(
"v-layout",
{
@@ -912,7 +983,10 @@ var render = function() {
attrs: {
name: "title",
label: "Title",
color: "black"
color: "black",
rules: [
_vm.rules.required
]
},
model: {
value:
@@ -1033,8 +1107,7 @@ var render = function() {
small: "",
right: "",
top: "",
color: "pink",
id: "RemoveFormDuplicator"
color: "pink"
},
on: {
click: function($event) {
@@ -1071,8 +1144,7 @@ var render = function() {
small: "",
right: "",
bottom: "",
color: "cyan",
id: "FormDuplicator"
color: "cyan"
},
on: {
click: function($event) {
@@ -1095,6 +1167,35 @@ var render = function() {
)
: _vm._e(),
_vm._v(" "),
keyForm > 0
? _c(
"v-btn",
{
attrs: {
absolute: "",
small: "",
right: "",
top: "",
color: "pink"
},
on: {
click: function($event) {
return _vm.removeInput(keyForm)
}
}
},
[
_c(
"v-icon",
{ staticClass: "white--text mr-2 caption" },
[_vm._v("fas fa-times")]
),
_vm._v("REMOVE\n ")
],
1
)
: _vm._e(),
_vm._v(" "),
_vm.form.info.length - 1 == keyForm
? _c(
"v-layout",
Vendored
+3 -1
View File
@@ -150,7 +150,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
case 12:
if (result && result.status == 200) {
this.$router.push("/manage-medical-center");
this.$router.push({
name: "ManageMedicalCenter"
});
}
case 13:
+1 -1
View File
@@ -1,3 +1,3 @@
{
"/vue/js/app.js": "/vue/js/app.js?id=dffc217075f167416edf"
"/vue/js/app.js": "/vue/js/app.js?id=6945750d7580899bd2de"
}
+78 -63
View File
@@ -8249,7 +8249,7 @@ exports.push([module.i, "/*!\n* Vuetify v1.5.11\n* Forged by John Leider\n* Rele
exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n#core-footer {\n z-index: 0;\n}\n", ""]);
exports.push([module.i, "\n#core-footer {\r\n z-index: 0;\n}\r\n", ""]);
@@ -62202,6 +62202,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var vue_meta__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_meta__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./paths */ "./resources/js/vue/router/paths.js");
/* harmony import */ var _services_acl_role__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/services/acl/role */ "./resources/js/vue/services/acl/role.js");
/**
* Vue Router
*
@@ -62261,6 +62262,7 @@ var router = new vue_router__WEBPACK_IMPORTED_MODULE_1__["default"]({
}
});
vue__WEBPACK_IMPORTED_MODULE_0___default.a.use(vue_meta__WEBPACK_IMPORTED_MODULE_2___default.a);
router.beforeEach(function (to, from, next) {
var isPublic = to.matched.some(function (record) {
return record.meta.public;
@@ -62269,9 +62271,7 @@ router.beforeEach(function (to, from, next) {
return record.meta.onlyWhenLoggedOut;
});
var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_3__["TokenService"].getToken();
var roles = to.matched.some(function (record) {
return record.meta.roles;
});
var roles = to.meta && to.meta.roles ? to.meta.roles : null;
if (!isPublic && !loggedIn) {
return next({
@@ -62287,11 +62287,12 @@ router.beforeEach(function (to, from, next) {
if (loggedIn && onlyWhenLoggedOut && policy) {
return next('/');
} // Do not allow user to visit Pages then not access roles
// if (roles && !$hasRole(roles)) {
// return next('/')
// }
if (roles && !Object(_services_acl_role__WEBPACK_IMPORTED_MODULE_5__["$hasRole"])(roles)) {
return next('/');
}
next();
}); // Bootstrap Analytics
// Set in .env
@@ -62330,23 +62331,26 @@ __webpack_require__.r(__webpack_exports__);
view: 'Dashboard'
}, {
path: '/my-info',
name: 'My Info',
name: 'MyInfo',
view: 'MyInfo'
}, {
path: '/all-resualttest',
name: 'All Result Test',
name: 'AllResultTest',
view: 'AllResultTest'
}, {
path: '/manage-users',
name: 'Manage Users',
view: 'ManageUsers'
name: 'ManageUsers',
view: 'ManageUsers',
meta: {
roles: 'Admin'
}
}, {
path: '/test-creator',
name: 'Add New Test',
name: 'AddNewTest',
view: 'TestCreator'
}, {
path: '/manage-medical-center',
name: 'Manage Medical Center',
name: 'ManageMedicalCenter',
view: 'ManageMedicalCenter'
}, {
path: '/medical-center/:id/edit',
@@ -62376,7 +62380,7 @@ __webpack_require__.r(__webpack_exports__);
view: 'AdminRegister'
}, {
path: '/submit-test-result',
name: 'Submit Test Result',
name: 'SubmitTestResult',
view: 'SubmitTestResult'
}, {
path: '/forgot-password',
@@ -62389,7 +62393,7 @@ __webpack_require__.r(__webpack_exports__);
}
}, {
path: '/test-creator',
name: 'Test Creator',
name: 'TestCreator',
view: 'TestCreator'
}, {
path: '/test',
@@ -62397,7 +62401,7 @@ __webpack_require__.r(__webpack_exports__);
view: 'Test'
}, {
path: '/add-medical-center',
name: 'Add Medical Center',
name: 'AddMedicalCenter',
view: 'AddMedicalCenter'
}, {
path: '/add-operator/:medicalCenter',
@@ -62409,6 +62413,57 @@ __webpack_require__.r(__webpack_exports__);
view: 'OperatorList'
}]);
/***/ }),
/***/ "./resources/js/vue/services/acl/role.js":
/*!***********************************************!*\
!*** ./resources/js/vue/services/acl/role.js ***!
\***********************************************/
/*! exports provided: $hasRole */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$hasRole", function() { return $hasRole; });
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
var $hasRole = function $hasRole(roles) {
if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getToken()) {
roles = roles.split('|');
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var role = _step.value;
if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles && Array.isArray(_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles) && _services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles.includes(role)) {
return true;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
return false;
};
/***/ }),
/***/ "./resources/js/vue/services/auth/storage.service.js":
@@ -62563,7 +62618,7 @@ var UserService = {
},
auth: {
username: "2",
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
}
};
_context.prev = 1;
@@ -62623,7 +62678,7 @@ var UserService = {
},
auth: {
username: "2",
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
}
};
_context2.prev = 1;
@@ -62678,7 +62733,7 @@ var UserService = {
},
auth: {
username: "2",
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
}
};
_context3.prev = 1;
@@ -62732,7 +62787,7 @@ var UserService = {
},
auth: {
username: "2",
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
}
};
_context4.prev = 2;
@@ -63135,43 +63190,11 @@ __webpack_require__.r(__webpack_exports__);
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
/* harmony import */ var _acl_role__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../acl/role */ "./resources/js/vue/services/acl/role.js");
/* harmony default export */ __webpack_exports__["default"] = ({
methods: {
$hasRole: function $hasRole(roles) {
if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getToken()) {
roles = roles.split('|');
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var role = _step.value;
if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles && Array.isArray(_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles) && _services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles.includes(role)) {
return true;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
return false;
}
$hasRole: _acl_role__WEBPACK_IMPORTED_MODULE_0__["$hasRole"]
}
});
@@ -63898,14 +63921,6 @@ var map = {
"./resources/js/vue/views/SubmitTestResult.vue",
17
],
"./SuperVisior/UserInfo.vue": [
"./resources/js/vue/views/SuperVisior/UserInfo.vue",
18
],
"./SuperVisior/table.vue": [
"./resources/js/vue/views/SuperVisior/table.vue",
19
],
"./TableList.vue": [
"./resources/js/vue/views/TableList.vue",
20
@@ -63956,7 +63971,7 @@ module.exports = webpackAsyncContext;
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(/*! /home/saeid/Projects/Git/CSSD/resources/js/vue/main.js */"./resources/js/vue/main.js");
module.exports = __webpack_require__(/*! D:\Atom\Git\Laravel_CSSD\resources\js\vue\main.js */"./resources/js/vue/main.js");
/***/ })
+4 -1
View File
@@ -1,4 +1,7 @@
const urls = {
home : '/dashboard',
listMedicalCenter : function(page) {
return "/MedicalCenters?page=" + page;
},
};
export {urls};
+6 -4
View File
@@ -52,12 +52,14 @@ const router = new Router({
Vue.use(Meta)
import {$hasRole} from '@/services/acl/role';
router.beforeEach((to, from, next) => {
const isPublic = to.matched.some(record => record.meta.public);
const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut);
const loggedIn = !!TokenService.getToken();
const roles = to.matched.some(record => record.meta.roles);
const roles = (to.meta && to.meta.roles) ? to.meta.roles : null;
if (!isPublic && !loggedIn) {
return next({
path:'/login',
@@ -71,9 +73,9 @@ router.beforeEach((to, from, next) => {
}
// Do not allow user to visit Pages then not access roles
// if (roles && !$hasRole(roles)) {
// return next('/')
// }
if (roles && !$hasRole(roles)) {
return next('/')
}
next();
});
+11 -8
View File
@@ -11,27 +11,30 @@ export default [
},
{
path: '/my-info',
name: 'My Info',
name: 'MyInfo',
view: 'MyInfo'
},
{
path: '/all-resualttest',
name: 'All Result Test',
name: 'AllResultTest',
view: 'AllResultTest'
},
{
path: '/manage-users',
name: 'Manage Users',
name: 'ManageUsers',
view: 'ManageUsers',
meta: {
roles : 'Admin'
}
},
{
path: '/test-creator',
name: 'Add New Test',
name: 'AddNewTest',
view: 'TestCreator'
},
{
path: '/manage-medical-center',
name: 'Manage Medical Center',
name: 'ManageMedicalCenter',
view: 'ManageMedicalCenter'
},
{
@@ -64,7 +67,7 @@ export default [
},
{
path: '/submit-test-result',
name: 'Submit Test Result',
name: 'SubmitTestResult',
view: 'SubmitTestResult'
},
{
@@ -78,7 +81,7 @@ export default [
},
{
path: '/test-creator',
name: 'Test Creator',
name: 'TestCreator',
view: 'TestCreator'
},
{
@@ -88,7 +91,7 @@ export default [
},
{
path: '/add-medical-center',
name: 'Add Medical Center',
name: 'AddMedicalCenter',
view: 'AddMedicalCenter'
},
{
+17
View File
@@ -0,0 +1,17 @@
import { TokenService } from '@/services'
const $hasRole = function(roles) {
if (TokenService.getToken()) {
roles = roles.split('|');
for (const role of roles) {
if(TokenService.getInfo().roles && Array.isArray(TokenService.getInfo().roles) && TokenService.getInfo().roles.includes(role)) {
return true;
}
}
}
return false;
};
export {
$hasRole
}
+2 -12
View File
@@ -1,16 +1,6 @@
import { TokenService } from '@/services'
import {$hasRole} from '../acl/role';
export default {
methods: {
$hasRole(roles) {
if (TokenService.getToken()) {
roles = roles.split('|');
for (const role of roles) {
if(TokenService.getInfo().roles && Array.isArray(TokenService.getInfo().roles) && TokenService.getInfo().roles.includes(role)) {
return true;
}
}
}
return false;
}
$hasRole
},
}
+1 -1
View File
@@ -70,7 +70,7 @@ export default {
var result = await ApiService.post(url, this.medicalCenter);
}
if (result && result.status == 200) {
this.$router.push("/manage-medical-center");
this.$router.push({name : "ManageMedicalCenter"});
}
}
}
@@ -38,13 +38,13 @@
<td class="title font-weight-light">{{ item.created_at }}</td>
<td class="title font-weight-light">{{ item.users_count }} Operator</td>
<td class="text-xs-right">
<router-link :to="`/medical-center/${item.id}/edit`">
<router-link :to="{name : 'EditMedicalCenter', params : {id : item.id}}">
<v-btn color="cyan" class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-pen</v-icon>
<span>Edit</span>
</v-btn>
</router-link>
<router-link :to="`/operator-list/${item.id}`">
<router-link :to="{name : 'OperatorList', params : {medicalCenter : item.id}}">
<v-btn color="orange darken-1" class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-user</v-icon>
<span>Operator</span>
@@ -77,6 +77,7 @@
<script>
import { ApiService } from "@/services";
import { urls } from "@/config/urls";
export default {
data: () => ({
headers: [
@@ -111,7 +112,7 @@ export default {
},
methods: {
async getData(page = 1) {
const result = await ApiService.get("MedicalCenters?page=" + page);
const result = await ApiService.get(urls.listMedicalCenter(page));
this.items = result.data.MedicalCenters.data;
this.currentPage = result.data.MedicalCenters.current_page;
this.lastPage = result.data.MedicalCenters.last_page;
+2 -2
View File
@@ -135,7 +135,7 @@ export default {
this.items = result.data.users;
this.name = result.data.name;
} else {
this.$router.push(`/dashboard`);
this.$router.push({name:`Dashboard`});
}
},
async changeStatus(userId) {
@@ -147,7 +147,7 @@ export default {
}
}
} else {
this.$router.push(`/dashboard`);
this.$router.push({name:`Dashboard`});
}
},
...mapMutations("modal", ["changeCurrentModal"]),
+1 -1
View File
@@ -113,7 +113,7 @@ export default {
var result = await ApiService.post(`register`, this.form);
if (result && result.status == 200) {
this.$router.push(
`/operator-list/${this.form.medical_center_id}`
{name:`OperatorList`, params: { medicalCenter: this.form.medical_center_id }}
);
}
}
@@ -1,27 +0,0 @@
<template>
<v-form>
<v-container grid-list-xs>
<v-layout row wrap>
<material-card color="black" title="User Info">
<v-flex xs12 sm4 md4>
<v-text-field
name="name"
label="label"
id="id"
></v-text-field>
</v-flex>
</material-card>
</v-layout>
</v-container>
</v-form>
</template>
<script>
export default {
name: "",
data: () => ({
})
}
</script>
<style lang="scss" scoped>
</style>
@@ -1,136 +0,0 @@
<template>
<v-card>
<v-card-title>
Nutrition
<v-spacer></v-spacer>
<v-text-field
v-model="search"
append-icon="search"
label="Search"
single-line
hide-details
></v-text-field>
</v-card-title>
<v-data-table
:headers="headers"
:items="desserts"
:search="search"
>
<template v-slot:items="props">
<td>{{ props.item.name }}</td>
<td class="text-xs-right">{{ props.item.calories }}</td>
<td class="text-xs-right">{{ props.item.fat }}</td>
<td class="text-xs-right">{{ props.item.carbs }}</td>
<td class="text-xs-right">{{ props.item.protein }}</td>
<td class="text-xs-right">{{ props.item.iron }}</td>
</template>
<v-alert v-slot:no-results :value="true" color="error" icon="warning">
Your search for "{{ search }}" found no results.
</v-alert>
</v-data-table>
</v-card>
</template>
<script>
export default {
data () {
return {
search: '',
headers: [
{
text: 'Dessert (100g serving)',
align: 'left',
sortable: false,
value: 'name'
},
{ text: 'Calories', value: 'calories' },
{ text: 'Fat (g)', value: 'fat' },
{ text: 'Carbs (g)', value: 'carbs' },
{ text: 'Protein (g)', value: 'protein' },
{ text: 'Iron (%)', value: 'iron' }
],
desserts: [
{
name: 'Frozen Yogurt',
calories: 159,
fat: 6.0,
carbs: 24,
protein: 4.0,
iron: '1%'
},
{
name: 'Ice cream sandwich',
calories: 237,
fat: 9.0,
carbs: 37,
protein: 4.3,
iron: '1%'
},
{
name: 'Eclair',
calories: 262,
fat: 16.0,
carbs: 23,
protein: 6.0,
iron: '7%'
},
{
name: 'Cupcake',
calories: 305,
fat: 3.7,
carbs: 67,
protein: 4.3,
iron: '8%'
},
{
name: 'Gingerbread',
calories: 356,
fat: 16.0,
carbs: 49,
protein: 3.9,
iron: '16%'
},
{
name: 'Jelly bean',
calories: 375,
fat: 0.0,
carbs: 94,
protein: 0.0,
iron: '0%'
},
{
name: 'Lollipop',
calories: 392,
fat: 0.2,
carbs: 98,
protein: 0,
iron: '2%'
},
{
name: 'Honeycomb',
calories: 408,
fat: 3.2,
carbs: 87,
protein: 6.5,
iron: '45%'
},
{
name: 'Donut',
calories: 452,
fat: 25.0,
carbs: 51,
protein: 4.9,
iron: '22%'
},
{
name: 'KitKat',
calories: 518,
fat: 26.0,
carbs: 65,
protein: 7,
iron: '6%'
}
]
}
}
}
</script>
+82 -36
View File
@@ -2,12 +2,20 @@
<v-form ref="form">
<v-container grid-list-xs>
<material-card color="black" title="Add a New Test" class>
<v-layout row wrap id="Form" class="ma-2">
<v-layout row wrap class="ma-2">
<v-flex xs12 md3 sm3>
<v-text-field name="name" v-model="form.name" label="Name" color="black" class="pa-2"></v-text-field>
<v-text-field
name="name"
v-model="form.name"
label="Name"
color="black"
class="pa-2"
:rules="[rules.required]"
></v-text-field>
</v-flex>
<v-flex xs12 md3 sm3>
<v-text-field
:rules="[rules.required]"
name="uniquecode"
v-model="form.unique_code"
label="Unique Code"
@@ -23,9 +31,16 @@
:key="keyForm"
v-for="(info, keyForm) in form.info"
>
<v-layout row wrap id="Form" class="ma-2">
<v-layout row wrap class="ma-2">
<v-flex xs12 md3 sm3>
<v-text-field name="inputname" v-model="info.name" label="Input Name" color="black" class="pa-2"></v-text-field>
<v-text-field
name="inputname"
v-model="info.name"
label="Input Name"
color="black"
class="pa-2"
:rules="[rules.required]"
></v-text-field>
</v-flex>
<v-flex xs12 md3 sm3>
<v-select
@@ -42,13 +57,16 @@
</v-flex>
<!-- Text Input Section -->
<v-flex xs12 md3 sm3>
<v-text-field
name="size"
label="Size"
<v-select
:items="size"
item-text="state"
item-value="abbr"
label="Type"
v-model="info.size"
single-line
color="black"
class="pa-2"
></v-text-field>
></v-select>
</v-flex>
</v-layout>
<!-- SelectBox Section -->
@@ -56,7 +74,7 @@
class="ma-3 pa-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full"
row
wrap
v-if="info.type === 'select' || info.type === 'checkbox'"
v-if="info.type === 'Select' || info.type === 'Checkbox'"
>
<v-layout row wrap class="WM-Relative WM-Width-Full" v-if="info['options'].length > 0">
<v-flex
@@ -68,6 +86,7 @@
class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Width-Full WM-Relative"
>
<v-text-field
:rules="[rules.required]"
name="title"
label="Title"
color="black"
@@ -104,7 +123,7 @@
<v-layout
row
wrap
v-if="info.type === 'form'"
v-if="info.type === 'Form'"
class="pa-3 my-4 mx-3 WM-Border WM-Border-Black WM-Relative"
>
<v-layout
@@ -116,6 +135,7 @@
>
<v-flex xs12 md3 sm3>
<v-text-field
:rules="[rules.required]"
name="name"
v-model="children.name"
label="Input Name"
@@ -137,14 +157,23 @@
></v-select>
</v-flex>
<v-flex xs12 md3 sm3>
<v-text-field name="size" v-model="children.size" label="Size" color="black" class="pa-2" ></v-text-field>
<v-select
:items="size"
item-text="state"
item-value="abbr"
label="Type"
v-model="children.size"
single-line
color="black"
class="pa-2"
></v-select>
</v-flex>
<!-- Inner Form Selectbox Section -->
<v-layout
row
wrap
class="pa-3 mb-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full"
v-if="children.type === 'select' || children.type === 'checkbox'"
v-if="children.type === 'Select' || children.type === 'Checkbox'"
>
<v-layout
row
@@ -166,6 +195,7 @@
color="black"
class="pa-2 Input"
v-model="selectbox.title"
:rules="[rules.required]"
></v-text-field>
<v-btn
absolute
@@ -199,24 +229,17 @@
top
color="pink"
@click="removeForm(keyForm, keychildren)"
id="RemoveFormDuplicator"
>
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>REMOVE
</v-btn>
</v-layout>
<v-btn
absolute
small
right
bottom
color="cyan"
@click="duplicateForm(keyForm)"
id="FormDuplicator"
>
<v-btn absolute small right bottom color="cyan" @click="duplicateForm(keyForm)">
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>ADD
</v-btn>
</v-layout>
<v-btn v-if="keyForm > 0" absolute small right top color="pink" @click="removeInput(keyForm)">
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>REMOVE
</v-btn>
<v-layout
row
wrap
@@ -258,6 +281,7 @@ export default {
unique_code: "",
info: [
{
id: 0,
name: "",
type: "",
size: ""
@@ -265,23 +289,35 @@ export default {
]
},
type: [
{ state: "Text", abbr: "text" },
{ state: "Checkbox", abbr: "checkbox" },
{ state: "Select", abbr: "select" },
{ state: "Form", abbr: "form" }
]
{ state: "Text", abbr: "Text" },
{ state: "Checkbox", abbr: "Checkbox" },
{ state: "Select", abbr: "Select" },
{ state: "Form", abbr: "Form" }
],
size: [
{ state: "not Selected", abbr: "" },
{ state: "2 as 12", abbr: "col-md-2" },
{ state: "3 as 12", abbr: "col-md-3" },
{ state: "4 as 12", abbr: "col-md-4" },
{ state: "6 as 12", abbr: "col-md-6" },
{ state: "8 as 12", abbr: "col-md-8" },
{ state: "10 as 12", abbr: "col-md-10" }
],
rules: {
required: value => !!value || "Required."
}
};
},
methods: {
changeType(infoIndex, selectedboxType) {
if (selectedboxType == "select" || selectedboxType == "checkbox") {
if (selectedboxType == "Select" || selectedboxType == "Checkbox") {
this.form.info[infoIndex]["options"] = [{ title: "" }];
} else {
this.form.info[infoIndex]["options"] = [];
}
if (selectedboxType == "form") {
if (selectedboxType == "Form") {
this.form.info[infoIndex]["children"] = [
{ name: "", type: "", size: "" }
{ id: 0, name: "", type: "", size: "" }
];
}
},
@@ -298,10 +334,10 @@ export default {
this.form = form;
},
addInput() {
this.form.info.push({ name: "", type: "", size: "" });
this.form.info.push({ id: 0, name: "", type: "", size: "" });
},
changeTypeForm(infoIndex, type, formLevel) {
if (type == "select" || type == "checkbox") {
if (type == "Select" || type == "Checkbox") {
let form = this.form;
this.form = "";
form.info[infoIndex]["children"][formLevel]["options"] = [
@@ -335,7 +371,12 @@ export default {
duplicateForm(infoIndex) {
let form = this.form;
this.form = [];
form.info[infoIndex]["children"].push({ name: "", type: "", size: "" });
form.info[infoIndex]["children"].push({
id: 0,
name: "",
type: "",
size: ""
});
this.form = form;
},
removeForm(infoIndex, formLevel) {
@@ -344,15 +385,20 @@ export default {
form.info[infoIndex]["children"].splice(formLevel, 1);
this.form = form;
},
removeInput(infoIndex) {
let form = this.form;
this.form = [];
form.info.splice(infoIndex, 1);
this.form = form;
},
async registerForm() {
if (this.$refs.form.validate()) {
const result = await ApiService.post("TestTypes", this.form);
if (result && result.status == 200) {
this.$router.push("/dashboard");
this.$router.push({ name: `Dashboard` });
}
}
}
}
};
</script>