Skip to content

Commit e35cf3c

Browse files
author
Monaye Win
committed
adding detail and field as well as css for future use
1 parent c2f33e5 commit e35cf3c

File tree

6 files changed

+127
-74
lines changed

6 files changed

+127
-74
lines changed

dist/js/field.js

+65-72
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,74 @@
6060
/******/ __webpack_require__.p = "";
6161
/******/
6262
/******/ // Load entry module and return exports
63-
/******/ return __webpack_require__(__webpack_require__.s = 1);
63+
/******/ return __webpack_require__(__webpack_require__.s = 0);
6464
/******/ })
6565
/************************************************************************/
6666
/******/ ([
6767
/* 0 */
68+
/***/ (function(module, exports, __webpack_require__) {
69+
70+
__webpack_require__(1);
71+
module.exports = __webpack_require__(6);
72+
73+
74+
/***/ }),
75+
/* 1 */
76+
/***/ (function(module, exports, __webpack_require__) {
77+
78+
Nova.booting(function (Vue, router, store) {
79+
Vue.component("index-simple-link-button", __webpack_require__(2));
80+
});
81+
82+
/***/ }),
83+
/* 2 */
84+
/***/ (function(module, exports, __webpack_require__) {
85+
86+
var disposed = false
87+
var normalizeComponent = __webpack_require__(3)
88+
/* script */
89+
var __vue_script__ = __webpack_require__(4)
90+
/* template */
91+
var __vue_template__ = __webpack_require__(5)
92+
/* template functional */
93+
var __vue_template_functional__ = false
94+
/* styles */
95+
var __vue_styles__ = null
96+
/* scopeId */
97+
var __vue_scopeId__ = null
98+
/* moduleIdentifier (server only) */
99+
var __vue_module_identifier__ = null
100+
var Component = normalizeComponent(
101+
__vue_script__,
102+
__vue_template__,
103+
__vue_template_functional__,
104+
__vue_styles__,
105+
__vue_scopeId__,
106+
__vue_module_identifier__
107+
)
108+
Component.options.__file = "resources/js/components/IndexField.vue"
109+
110+
/* hot reload */
111+
if (false) {(function () {
112+
var hotAPI = require("vue-hot-reload-api")
113+
hotAPI.install(require("vue"), false)
114+
if (!hotAPI.compatible) return
115+
module.hot.accept()
116+
if (!module.hot.data) {
117+
hotAPI.createRecord("data-v-9e63f81a", Component.options)
118+
} else {
119+
hotAPI.reload("data-v-9e63f81a", Component.options)
120+
}
121+
module.hot.dispose(function (data) {
122+
disposed = true
123+
})
124+
})()}
125+
126+
module.exports = Component.exports
127+
128+
129+
/***/ }),
130+
/* 3 */
68131
/***/ (function(module, exports) {
69132

70133
/* globals __VUE_SSR_CONTEXT__ */
@@ -172,69 +235,6 @@ module.exports = function normalizeComponent (
172235
}
173236

174237

175-
/***/ }),
176-
/* 1 */
177-
/***/ (function(module, exports, __webpack_require__) {
178-
179-
__webpack_require__(2);
180-
module.exports = __webpack_require__(13);
181-
182-
183-
/***/ }),
184-
/* 2 */
185-
/***/ (function(module, exports, __webpack_require__) {
186-
187-
Nova.booting(function (Vue, router, store) {
188-
Vue.component("index-simple-link-button", __webpack_require__(3).default);
189-
});
190-
191-
/***/ }),
192-
/* 3 */
193-
/***/ (function(module, exports, __webpack_require__) {
194-
195-
var disposed = false
196-
var normalizeComponent = __webpack_require__(0)
197-
/* script */
198-
var __vue_script__ = __webpack_require__(4)
199-
/* template */
200-
var __vue_template__ = __webpack_require__(5)
201-
/* template functional */
202-
var __vue_template_functional__ = false
203-
/* styles */
204-
var __vue_styles__ = null
205-
/* scopeId */
206-
var __vue_scopeId__ = null
207-
/* moduleIdentifier (server only) */
208-
var __vue_module_identifier__ = null
209-
var Component = normalizeComponent(
210-
__vue_script__,
211-
__vue_template__,
212-
__vue_template_functional__,
213-
__vue_styles__,
214-
__vue_scopeId__,
215-
__vue_module_identifier__
216-
)
217-
Component.options.__file = "resources/js/components/IndexField.vue"
218-
219-
/* hot reload */
220-
if (false) {(function () {
221-
var hotAPI = require("vue-hot-reload-api")
222-
hotAPI.install(require("vue"), false)
223-
if (!hotAPI.compatible) return
224-
module.hot.accept()
225-
if (!module.hot.data) {
226-
hotAPI.createRecord("data-v-9e63f81a", Component.options)
227-
} else {
228-
hotAPI.reload("data-v-9e63f81a", Component.options)
229-
}
230-
module.hot.dispose(function (data) {
231-
disposed = true
232-
})
233-
})()}
234-
235-
module.exports = Component.exports
236-
237-
238238
/***/ }),
239239
/* 4 */
240240
/***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -288,14 +288,7 @@ if (false) {
288288
}
289289

290290
/***/ }),
291-
/* 6 */,
292-
/* 7 */,
293-
/* 8 */,
294-
/* 9 */,
295-
/* 10 */,
296-
/* 11 */,
297-
/* 12 */,
298-
/* 13 */
291+
/* 6 */
299292
/***/ (function(module, exports) {
300293

301294
// removed by extract-text-webpack-plugin
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<template>
2+
<panel-item :field="field" />
3+
</template>
4+
5+
<script>
6+
export default {
7+
props: ['resource', 'resourceName', 'resourceId', 'field'],
8+
}
9+
</script>

resources/js/components/FormField.vue

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<template>
2+
<default-field :field="field" :errors="errors">
3+
<template slot="field">
4+
<input
5+
:id="field.name"
6+
type="text"
7+
class="w-full form-control form-input form-input-bordered"
8+
:class="errorClasses"
9+
:placeholder="field.name"
10+
v-model="value"
11+
/>
12+
</template>
13+
</default-field>
14+
</template>
15+
16+
<script>
17+
import { FormField, HandlesValidationErrors } from 'laravel-nova'
18+
19+
export default {
20+
mixins: [FormField, HandlesValidationErrors],
21+
22+
props: ['resourceName', 'resourceId', 'field'],
23+
24+
methods: {
25+
/*
26+
* Set the initial, internal value for the field.
27+
*/
28+
setInitialValue() {
29+
this.value = this.field.value || ''
30+
},
31+
32+
/**
33+
* Fill the given FormData object with the field's internal value.
34+
*/
35+
fill(formData) {
36+
formData.append(this.field.attribute, this.value || '')
37+
},
38+
39+
/**
40+
* Update the field's internal value.
41+
*/
42+
handleChange(value) {
43+
this.value = value
44+
},
45+
},
46+
}
47+
</script>

resources/js/field.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
Nova.booting((Vue, router, store) => {
2-
Vue.component("index-simple-link-button", require("./components/IndexField").default);
3-
});
2+
Vue.component('index-simple-link-button', require('./components/IndexField'))
3+
Vue.component('detail-simple-link-button', require('./components/DetailField'))
4+
Vue.component('form-simple-link-button', require('./components/FormField'))
5+
})

resources/sass/field.scss

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// Nova Tool CSS

src/FieldServiceProvider.php

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public function boot()
2222

2323
Nova::serving(function (ServingNova $event) {
2424
Nova::script('simple-link-button', __DIR__.'/../dist/js/field.js');
25+
Nova::style('simple-link-button', __DIR__.'/../dist/css/field.css');
2526
});
2627
}
2728

0 commit comments

Comments
 (0)