diff --git a/examples/crm-admin-pro b/examples/crm-admin-pro
new file mode 160000
index 00000000..e2f0d05f
--- /dev/null
+++ b/examples/crm-admin-pro
@@ -0,0 +1 @@
+Subproject commit e2f0d05f6d9475b412b0ead7f10aa5c3a012b1a3
diff --git a/package.json b/package.json
index c66ae846..50af2981 100644
--- a/package.json
+++ b/package.json
@@ -31,6 +31,7 @@
"element-ui": "^2.12.0",
"normalize.css": "^8.0.1",
"vue": "^2.6.10",
+ "vue-codemirror": "^4.0.6",
"vue-router": "^3.0.6"
},
"devDependencies": {
diff --git a/src/fields/code/__config__/ams.config.js b/src/fields/code/__config__/ams.config.js
new file mode 100644
index 00000000..05d0b196
--- /dev/null
+++ b/src/fields/code/__config__/ams.config.js
@@ -0,0 +1,13 @@
+export const config = {
+ BASE: 'CONFIG_FIELD',
+ type: {
+ default: 'code'
+ },
+ default: {
+ type: 'code',
+ valueType: 'js',
+ default: ''
+ }
+};
+
+export const defaults = {};
diff --git a/src/fields/code/__config__/default.example.js b/src/fields/code/__config__/default.example.js
new file mode 100644
index 00000000..ff8b4c56
--- /dev/null
+++ b/src/fields/code/__config__/default.example.js
@@ -0,0 +1 @@
+export default {};
diff --git a/src/fields/code/code.vue b/src/fields/code/code.vue
new file mode 100644
index 00000000..8565a758
--- /dev/null
+++ b/src/fields/code/code.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fields/code/index.js b/src/fields/code/index.js
new file mode 100644
index 00000000..fbd355da
--- /dev/null
+++ b/src/fields/code/index.js
@@ -0,0 +1,9 @@
+import code from './code';
+
+export default {
+ type: 'code',
+ install(Vue) {
+ Vue.component(`ams-field-${this.type}-view`, code);
+ Vue.component(`ams-field-${this.type}-edit`, code);
+ }
+};
diff --git a/src/index.js b/src/index.js
index 544e4e5f..3f19b93e 100644
--- a/src/index.js
+++ b/src/index.js
@@ -66,6 +66,7 @@ import tree from './fields/tree';
import link from './fields/link';
import fbutton from './fields/button';
import html from './fields/html';
+import code from './fields/code';
// operation
import button from './operations/button';
@@ -157,6 +158,7 @@ ams.install = function(Vue) {
ams.registerField(link);
ams.registerField(fbutton);
ams.registerField(html);
+ ams.registerField(code);
// operations
ams.registerOperation(button);
ams.registerOperation(operationsText);