wire up all the ui stuff for previews in pickers, showing name in button when one option exists, proper picker for blocks
This commit is contained in:
+40
-59
@@ -1222,7 +1222,7 @@
|
||||
"arraybuffer.slice": {
|
||||
"version": "0.0.7",
|
||||
"resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
|
||||
"integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
|
||||
"integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=",
|
||||
"dev": true
|
||||
},
|
||||
"asap": {
|
||||
@@ -1284,7 +1284,7 @@
|
||||
"async-limiter": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
|
||||
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
|
||||
"integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=",
|
||||
"dev": true
|
||||
},
|
||||
"asynckit": {
|
||||
@@ -1535,7 +1535,7 @@
|
||||
},
|
||||
"bl": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
|
||||
"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -1551,7 +1551,7 @@
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -1566,7 +1566,7 @@
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -1740,7 +1740,7 @@
|
||||
"buffer-alloc": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
|
||||
"integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
|
||||
"integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"buffer-alloc-unsafe": "^1.1.0",
|
||||
@@ -1750,7 +1750,7 @@
|
||||
"buffer-alloc-unsafe": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
|
||||
"integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
|
||||
"integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=",
|
||||
"dev": true
|
||||
},
|
||||
"buffer-crc32": {
|
||||
@@ -2516,7 +2516,7 @@
|
||||
"content-type": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
|
||||
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
|
||||
"integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
|
||||
"dev": true
|
||||
},
|
||||
"continuable-cache": {
|
||||
@@ -4045,7 +4045,7 @@
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
@@ -4061,7 +4061,7 @@
|
||||
},
|
||||
"engine.io-client": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
|
||||
"integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -4081,7 +4081,7 @@
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
@@ -4476,13 +4476,13 @@
|
||||
"eventemitter3": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
|
||||
"integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
|
||||
"integrity": "sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM=",
|
||||
"dev": true
|
||||
},
|
||||
"exec-buffer": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
|
||||
"integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==",
|
||||
"integrity": "sha1-sWhtvZBMfPmC5lLB9aebHlVzCCs=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
@@ -5244,7 +5244,7 @@
|
||||
"fs-constants": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
|
||||
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
|
||||
"integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=",
|
||||
"dev": true
|
||||
},
|
||||
"fs-extra": {
|
||||
@@ -5309,8 +5309,7 @@
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
@@ -5331,14 +5330,12 @@
|
||||
"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"
|
||||
@@ -5353,20 +5350,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",
|
||||
@@ -5483,8 +5477,7 @@
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
@@ -5496,7 +5489,6 @@
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
@@ -5511,7 +5503,6 @@
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
@@ -5519,14 +5510,12 @@
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.2.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.1",
|
||||
"yallist": "^3.0.0"
|
||||
@@ -5545,7 +5534,6 @@
|
||||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
@@ -5626,8 +5614,7 @@
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@@ -5639,7 +5626,6 @@
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
@@ -5725,8 +5711,7 @@
|
||||
"safe-buffer": {
|
||||
"version": "5.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
@@ -5762,7 +5747,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",
|
||||
@@ -5782,7 +5766,6 @@
|
||||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
@@ -5826,14 +5809,12 @@
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -7575,7 +7556,7 @@
|
||||
"has-binary2": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
|
||||
"integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
|
||||
"integrity": "sha1-d3asYn8+p3JQz8My2rfd9eT10R0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"isarray": "2.0.1"
|
||||
@@ -7778,7 +7759,7 @@
|
||||
"http-proxy": {
|
||||
"version": "1.17.0",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
|
||||
"integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
|
||||
"integrity": "sha1-etOElGWPhGBeL220Q230EPTlvpo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"eventemitter3": "^3.0.0",
|
||||
@@ -9335,7 +9316,7 @@
|
||||
"lowercase-keys": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
|
||||
"integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
|
||||
"integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
|
||||
"dev": true
|
||||
},
|
||||
"lpad-align": {
|
||||
@@ -9369,7 +9350,7 @@
|
||||
"make-dir": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
|
||||
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
|
||||
"integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"pify": "^3.0.0"
|
||||
@@ -12735,7 +12716,7 @@
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "0.0.10",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
|
||||
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
|
||||
"dev": true
|
||||
},
|
||||
@@ -13616,7 +13597,7 @@
|
||||
"qjobs": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
|
||||
"integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
|
||||
"integrity": "sha1-xF6cYYAL0IfviNfiVkI73Unl0HE=",
|
||||
"dev": true
|
||||
},
|
||||
"qs": {
|
||||
@@ -14775,7 +14756,7 @@
|
||||
},
|
||||
"socket.io-parser": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
|
||||
"integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -14787,7 +14768,7 @@
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
@@ -14920,7 +14901,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,
|
||||
"optional": true,
|
||||
@@ -15328,7 +15309,7 @@
|
||||
"strip-outer": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
|
||||
"integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
|
||||
"integrity": "sha1-sv0qv2YEudHmATBXGV34Nrip1jE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"escape-string-regexp": "^1.0.2"
|
||||
@@ -15488,7 +15469,7 @@
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -15731,7 +15712,7 @@
|
||||
"to-buffer": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
|
||||
"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
|
||||
"integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=",
|
||||
"dev": true
|
||||
},
|
||||
"to-fast-properties": {
|
||||
@@ -15860,7 +15841,7 @@
|
||||
"type-is": {
|
||||
"version": "1.6.16",
|
||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
|
||||
"integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
|
||||
"integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"media-typer": "0.3.0",
|
||||
@@ -15902,7 +15883,7 @@
|
||||
"ultron": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
|
||||
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
|
||||
"integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=",
|
||||
"dev": true
|
||||
},
|
||||
"unc-path-regex": {
|
||||
@@ -16505,7 +16486,7 @@
|
||||
"ws": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
|
||||
"integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
|
||||
"integrity": "sha1-8c+E/i1ekB686U767OeF8YeiKPI=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async-limiter": "~1.0.0",
|
||||
|
||||
@@ -2,20 +2,28 @@
|
||||
Library of card related compoents, like the right-hand icon list on the grid "cards"
|
||||
*/
|
||||
|
||||
.umb-card{
|
||||
position: relative;
|
||||
padding: 5px 10px 5px 10px;
|
||||
.umb-card {
|
||||
position: relative;
|
||||
padding: 5px 10px 5px 10px;
|
||||
background: white;
|
||||
width: 100%;
|
||||
|
||||
.title{padding: 12px; color: @gray-3; border-bottom: 1px solid @gray-8; font-weight: 400; font-size: 16px; text-transform: none; margin: 0 -10px 10px -10px;}
|
||||
.title {
|
||||
padding: 12px;
|
||||
color: @gray-3;
|
||||
border-bottom: 1px solid @gray-8;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
text-transform: none;
|
||||
margin: 0 -10px 10px -10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.umb-card-thumb{
|
||||
.umb-card-thumb {
|
||||
text-align: center;
|
||||
|
||||
i{
|
||||
i {
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
line-height: 40px;
|
||||
@@ -25,51 +33,62 @@
|
||||
}
|
||||
}
|
||||
|
||||
.umb-card-content{
|
||||
.item-title{color: @blackLight; font-weight: 400; border: none; font-size: 16px; text-transform: none; margin-bottom: 3px;}
|
||||
p{color: @gray-3; margin-bottom: 1px;}
|
||||
.umb-card-content {
|
||||
.item-title {
|
||||
color: @blackLight;
|
||||
font-weight: 400;
|
||||
border: none;
|
||||
font-size: 16px;
|
||||
text-transform: none;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
p {
|
||||
color: @gray-3;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.umb-card-actions{
|
||||
.umb-card-actions {
|
||||
padding-top: 10px;
|
||||
border-top: @gray-10 1px solid;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.umb-card-icons{
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
.umb-card-icons {
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.umb-card-icons.vertical{
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 7px;
|
||||
text-align: right;
|
||||
width: 1px;
|
||||
.umb-card-icons.vertical {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 7px;
|
||||
text-align: right;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
.umb-card-icons li{
|
||||
display: inline-block;
|
||||
margin: 0 2px 0 2px;
|
||||
.umb-card-icons li {
|
||||
display: inline-block;
|
||||
margin: 0 2px 0 2px;
|
||||
}
|
||||
|
||||
.umb-card-icons.vertical li{
|
||||
float: right;
|
||||
display: block;
|
||||
margin-bottom: 3px;
|
||||
.umb-card-icons.vertical li {
|
||||
float: right;
|
||||
display: block;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
//card iocn list
|
||||
.umb-card-list{
|
||||
display: block;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.umb-card-list {
|
||||
display: block;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.umb-card-list li {
|
||||
border-bottom: @gray-10 1px solid;
|
||||
@@ -81,23 +100,23 @@
|
||||
|
||||
|
||||
//Card icon grid for picking items off a card
|
||||
.umb-card-grid{
|
||||
padding: 0;
|
||||
margin: 0 auto;
|
||||
list-style: none;
|
||||
.umb-card-grid {
|
||||
padding: 0;
|
||||
margin: 0 auto;
|
||||
list-style: none;
|
||||
width: 100%;
|
||||
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: flex-start;
|
||||
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.umb-card-grid li {
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
@@ -107,19 +126,18 @@
|
||||
}
|
||||
|
||||
.umb-card-grid.-three-in-row li {
|
||||
flex: 0 0 33.33%;
|
||||
max-width:33.33%;
|
||||
flex: 0 0 33.33%;
|
||||
max-width: 33.33%;
|
||||
}
|
||||
|
||||
.umb-card-grid .umb-card-grid-item {
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 100%;
|
||||
//height: 100%;
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding-top: 100%;
|
||||
border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
transition: background-color 120ms;
|
||||
|
||||
|
||||
> span {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
@@ -134,11 +152,56 @@
|
||||
}
|
||||
}
|
||||
|
||||
.umb-card-grid.-detailed {
|
||||
.umb-card-grid-item {
|
||||
padding-top: 0;
|
||||
|
||||
> div {
|
||||
padding: 10px;
|
||||
text-align: left;
|
||||
font-size: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
li {
|
||||
flex: 0 0 auto;
|
||||
max-width: 50%;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.umb-card-grid-item--title {
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.umb-card-grid-item--description {
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.umb-card-grid-item--thumbnail,
|
||||
i {
|
||||
max-width: 120px;
|
||||
margin-right: 10px;
|
||||
float: left;
|
||||
border-radius:3px;
|
||||
}
|
||||
|
||||
i {
|
||||
width: 120px;
|
||||
height: 80px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
.umb-card-grid .umb-card-grid-item:hover,
|
||||
.umb-card-grid .umb-card-grid-item:focus {
|
||||
background-color: @ui-option-hover;
|
||||
color: @ui-option-type-hover;
|
||||
background-color: @ui-option-hover;
|
||||
color: @ui-option-type-hover;
|
||||
}
|
||||
|
||||
.umb-card-grid a {
|
||||
@@ -153,80 +216,82 @@
|
||||
display: block;
|
||||
}
|
||||
|
||||
.umb-card-grid .umb-card-grid-item__loading {
|
||||
position: absolute;
|
||||
background-color: rgba(255,255,255,0.8);
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
.umb-card-grid .umb-card-grid-item__loading {
|
||||
position: absolute;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
||||
//Round icon-like button - this should be somewhere else
|
||||
.umb-btn-round{
|
||||
padding: 4px 6px 4px 6px;
|
||||
.umb-btn-round {
|
||||
padding: 4px 6px 4px 6px;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
border-radius: 200px;
|
||||
background: @gray-10;
|
||||
border:1px solid @gray-6;
|
||||
border: 1px solid @gray-6;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
.umb-btn-round:hover, .umb-btn-round:hover *{
|
||||
background: @blueDark !important;
|
||||
color: @white !important;
|
||||
border-color: @blueDark !important;
|
||||
text-decoration:none;
|
||||
}
|
||||
.umb-btn-round:hover,
|
||||
.umb-btn-round:hover * {
|
||||
background: @blueDark !important;
|
||||
color: @white !important;
|
||||
border-color: @blueDark !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.umb-btn-round a:hover {
|
||||
text-decoration:none;
|
||||
color: @white !important;
|
||||
}
|
||||
.umb-btn-round a:hover {
|
||||
text-decoration: none;
|
||||
color: @white !important;
|
||||
}
|
||||
|
||||
.umb-btn-round i {
|
||||
font-size:16px !important;
|
||||
color: @gray-8;
|
||||
display:block;
|
||||
}
|
||||
.umb-btn-round i {
|
||||
font-size: 16px !important;
|
||||
color: @gray-8;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.umb-btn-round.alert:hover, .umb-btn-round.alert:hover *{
|
||||
background: @red !important;
|
||||
color: @white !important;
|
||||
border-color: @red !important;
|
||||
text-decoration:none;
|
||||
}
|
||||
.umb-btn-round.alert:hover,
|
||||
.umb-btn-round.alert:hover * {
|
||||
background: @red !important;
|
||||
color: @white !important;
|
||||
border-color: @red !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.umb-btn-round.no-border{
|
||||
.umb-btn-round.no-border {
|
||||
border: none !important;
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.umb-training-videos {
|
||||
display: grid;
|
||||
grid-gap: 10px;
|
||||
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||
display: grid;
|
||||
grid-gap: 10px;
|
||||
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||
}
|
||||
|
||||
.umb-training-video {
|
||||
background: @white;
|
||||
box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16);
|
||||
border-radius: @baseBorderRadius;
|
||||
transition: box-shadow 0.1s ease-in-out, border 0.1s ease-in-out;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
background: @white;
|
||||
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.16);
|
||||
border-radius: @baseBorderRadius;
|
||||
transition: box-shadow 0.1s ease-in-out, border 0.1s ease-in-out;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.umb-training-video:hover {
|
||||
box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
|
||||
text-decoration: none;
|
||||
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.umb-training-video__label {
|
||||
font-weight: bold;
|
||||
margin-top: 20px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
margin-top: 20px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
@@ -137,6 +137,10 @@
|
||||
&.umb-overlay--medium {
|
||||
width: 480px;
|
||||
}
|
||||
|
||||
&.umb-overlay--large {
|
||||
width:640px;
|
||||
}
|
||||
}
|
||||
|
||||
.umb-overlay.umb-overlay-target .umb-overlay-header {
|
||||
|
||||
+6
-2
@@ -4,7 +4,7 @@ function ItemPickerOverlay($scope, localizationService) {
|
||||
$scope.model.hideSubmitButton = true;
|
||||
|
||||
if (!$scope.model.title) {
|
||||
localizationService.localize("defaultdialogs_selectItem").then(function(value){
|
||||
localizationService.localize("defaultdialogs_selectItem").then(function (value) {
|
||||
$scope.model.title = value;
|
||||
});
|
||||
}
|
||||
@@ -14,7 +14,11 @@ function ItemPickerOverlay($scope, localizationService) {
|
||||
}
|
||||
}
|
||||
|
||||
$scope.selectItem = function(item) {
|
||||
$scope.hasThumbs = function () {
|
||||
return $scope.model.availableItems.some(x => x.thumbnail);
|
||||
};
|
||||
|
||||
$scope.selectItem = function (item) {
|
||||
$scope.model.selectedItem = item;
|
||||
$scope.submitForm($scope.model);
|
||||
};
|
||||
|
||||
@@ -1,26 +1,30 @@
|
||||
<div ng-controller="Umbraco.Overlays.ItemPickerOverlay" class="umb-itempicker">
|
||||
|
||||
<div class="form-search" ng-hide="model.filter === false" style="margin-bottom: 15px;">
|
||||
<div class="form-search"
|
||||
ng-hide="model.filter === false"
|
||||
style="margin-bottom: 15px;">
|
||||
<i class="icon-search"></i>
|
||||
<input type="text"
|
||||
ng-model="searchTerm"
|
||||
class="umb-search-field search-query input-block-level -full-width-input"
|
||||
localize="placeholder"
|
||||
placeholder="@placeholders_filter"
|
||||
umb-auto-focus
|
||||
no-dirty-check />
|
||||
|
||||
<input type="text"
|
||||
ng-model="searchTerm"
|
||||
class="umb-search-field search-query input-block-level -full-width-input"
|
||||
localize="placeholder" placeholder="@placeholders_filter"
|
||||
umb-auto-focus no-dirty-check />
|
||||
</div>
|
||||
|
||||
<div class="umb-overlay__section-header" ng-if="(model.pasteItems | filter:searchTerm).length > 0">
|
||||
<h5><localize key="content_createFromClipboard">Paste from clipboard</localize></h5>
|
||||
<button ng-if="model.clickClearPaste" ng-click="model.clickClearPaste($event)" alt="Clear clipboard for entries accepted in this context.">
|
||||
<h5>
|
||||
<localize key="content_createFromClipboard">Paste from clipboard</localize>
|
||||
</h5>
|
||||
<button ng-if="model.clickClearPaste"
|
||||
ng-click="model.clickClearPaste($event)"
|
||||
alt="Clear clipboard for entries accepted in this context.">
|
||||
<i class="icon-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<ul class="umb-card-grid" ng-class="{'-three-in-row': model.availableItems.length < 7, '-four-in-row': model.availableItems.length >= 7}">
|
||||
<li ng-repeat="pasteItem in model.pasteItems | filter:searchTerm"
|
||||
ng-click="model.clickPasteItem(pasteItem)">
|
||||
<li ng-repeat="pasteItem in model.pasteItems | filter:searchTerm" ng-click="model.clickPasteItem(pasteItem)">
|
||||
<a class="umb-card-grid-item" href="" title="{{ pasteItem.name }}">
|
||||
<span>
|
||||
<i class="{{ pasteItem.icon }}"></i>
|
||||
@@ -31,19 +35,37 @@
|
||||
</ul>
|
||||
|
||||
<div class="umb-overlay__section-header" ng-if="model.pasteItems.length > 0 && (model.availableItems | filter:searchTerm).length > 0">
|
||||
<h5><localize key="content_createEmpty">Create new</localize></h5>
|
||||
<h5>
|
||||
<localize key="content_createEmpty">Create new</localize>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<ul class="umb-card-grid" ng-class="{'-three-in-row': model.availableItems.length < 7, '-four-in-row': model.availableItems.length >= 7}">
|
||||
<li ng-repeat="availableItem in model.availableItems | compareArrays:model.selectedItems:'alias' | orderBy:model.orderBy | filter:searchTerm"
|
||||
ng-click="selectItem(availableItem)">
|
||||
<a class="umb-card-grid-item" href="" title="{{ availableItem.name }}">
|
||||
<span>
|
||||
|
||||
<ul class="umb-card-grid" ng-class="{'-three-in-row': model.availableItems.length < 7, '-four-in-row': model.availableItems.length >= 7, '-detailed': hasThumbs()}">
|
||||
<li ng-repeat="availableItem in model.availableItems | compareArrays:model.selectedItems:'alias' | orderBy:model.orderBy | filter:searchTerm" ng-click="selectItem(availableItem)">
|
||||
<a class="umb-card-grid-item"
|
||||
ng-class="{'-has-thumbnail': availableItem.thumbnail}"
|
||||
href=""
|
||||
title="{{ availableItem.name }}">
|
||||
<span ng-if="!hasThumbs()">
|
||||
<i class="{{ availableItem.icon }}"></i>
|
||||
{{ availableItem.name }}
|
||||
</span>
|
||||
<div ng-if="hasThumbs()" class="flex">
|
||||
<i ng-if="!availableItem.thumbnail" class="{{ availableItem.icon }}"></i>
|
||||
<img ng-if="availableItem.thumbnail"
|
||||
class="umb-card-grid-item--thumbnail self-start"
|
||||
ng-src="{{ availableItem.thumbnail }}?width=120px" />
|
||||
<div class="flex flex-column justify-center">
|
||||
<span class="umb-card-grid-item--title" ng-bind="availableItem.name"></span>
|
||||
<span ng-if="availableItem.description"
|
||||
class="umb-card-grid-item--description"
|
||||
ng-bind="availableItem.description"></span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
+93
-7
@@ -1,4 +1,4 @@
|
||||
function BlockEditorPropertyEditorController($scope, contentResource, editorService) {
|
||||
function BlockEditorPropertyEditorController($scope, contentResource, editorService, iconHelper, clipboardService) {
|
||||
var vm = this;
|
||||
|
||||
vm.scaffolds = [];
|
||||
@@ -14,10 +14,12 @@
|
||||
vm.editContent = editContent;
|
||||
vm.editSettings = editSettings;
|
||||
vm.remove = remove;
|
||||
vm.openNodeTypePicker = openNodeTypePicker;
|
||||
|
||||
// it would be awesome if we could load all scaffolds in one go... however we need to have an eye out for performance,
|
||||
// oddly enough it's been shown to actually be slower to load them all at once instead of one at a time
|
||||
var scaffoldsLoaded = 0;
|
||||
|
||||
function init() {
|
||||
$scope.model.value = $scope.model.value || [];
|
||||
_.each($scope.model.config.blocks, function (blockConfig) {
|
||||
@@ -25,6 +27,8 @@
|
||||
if (scaffold.isElement) {
|
||||
// the scaffold udi is not the same as the element type udi, but we need it to be for comparison
|
||||
scaffold.udi = blockConfig.elementType;
|
||||
// shift this up to be consistent with other entities
|
||||
scaffold.thumbnail = scaffold.documentType.thumbnail;
|
||||
vm.scaffolds.push(scaffold);
|
||||
}
|
||||
scaffoldsLoaded++;
|
||||
@@ -58,8 +62,90 @@
|
||||
openContent(element, block);
|
||||
}
|
||||
|
||||
// nw => this needs to be refined, is currently largely a copy from nested content
|
||||
function openNodeTypePicker($event) {
|
||||
|
||||
vm.overlayMenu = {
|
||||
show: false,
|
||||
style: {},
|
||||
filter: vm.scaffolds.length > 12 ? true : false,
|
||||
orderBy: "$index",
|
||||
view: "itempicker",
|
||||
event: $event,
|
||||
clickPasteItem: function (item) {
|
||||
$scope.pasteFromClipboard(item.data);
|
||||
vm.overlayMenu.show = false;
|
||||
vm.overlayMenu = null;
|
||||
},
|
||||
submit: function (model) {
|
||||
if (model && model.selectedItem) {
|
||||
add(vm.scaffolds.filter(x => x.contentTypeAlias === model.selectedItem.alias)[0]);
|
||||
}
|
||||
vm.overlayMenu.show = false;
|
||||
vm.overlayMenu = null;
|
||||
},
|
||||
close: function () {
|
||||
vm.overlayMenu.show = false;
|
||||
vm.overlayMenu = null;
|
||||
}
|
||||
};
|
||||
|
||||
// this could be used for future limiting on node types
|
||||
vm.overlayMenu.availableItems = [];
|
||||
_.each(vm.scaffolds, function (scaffold) {
|
||||
vm.overlayMenu.availableItems.push({
|
||||
alias: scaffold.contentTypeAlias,
|
||||
name: scaffold.contentTypeName,
|
||||
icon: iconHelper.convertFromLegacyIcon(scaffold.icon),
|
||||
thumbnail: scaffold.thumbnail,
|
||||
description: scaffold.documentType.description
|
||||
});
|
||||
});
|
||||
|
||||
if (vm.overlayMenu.availableItems.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (vm.overlayMenu.availableItems.some(x => x.thumbnail)) {
|
||||
vm.overlayMenu.size = 'large';
|
||||
} else {
|
||||
vm.overlayMenu.size = vm.overlayMenu.availableItems.length > 6 ? "medium" : "small";
|
||||
}
|
||||
|
||||
vm.overlayMenu.pasteItems = [];
|
||||
// var availableNodesForPaste = clipboardService.retriveDataOfType("elementType", contentTypeAliases);
|
||||
// _.each(availableNodesForPaste, function (node) {
|
||||
// vm.overlayMenu.pasteItems.push({
|
||||
// alias: node.contentTypeAlias,
|
||||
// name: node.name, //contentTypeName
|
||||
// data: node,
|
||||
// icon: iconHelper.convertFromLegacyIcon(node.icon)
|
||||
// });
|
||||
// });
|
||||
//
|
||||
// vm.overlayMenu.title = vm.overlayMenu.pasteItems.length > 0 ? $scope.labels.grid_addElement : $scope.labels.content_createEmpty;
|
||||
//
|
||||
// vm.overlayMenu.clickClearPaste = function ($event) {
|
||||
// $event.stopPropagation();
|
||||
// $event.preventDefault();
|
||||
// clipboardService.clearEntriesOfType("elementType", contentTypeAliases);
|
||||
// vm.overlayMenu.pasteItems = []; // This dialog is not connected via the clipboardService events, so we need to update manually.
|
||||
// };
|
||||
|
||||
if (vm.overlayMenu.availableItems.length === 1 && vm.overlayMenu.pasteItems.length === 0) {
|
||||
// only one scaffold type - no need to display the picker
|
||||
add(vm.scaffolds[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
vm.overlayMenu.show = true;
|
||||
}
|
||||
|
||||
|
||||
function editContent(block) {
|
||||
var scaffold = _.findWhere(vm.scaffolds, {udi: block.udi});
|
||||
var scaffold = _.findWhere(vm.scaffolds, {
|
||||
udi: block.udi
|
||||
});
|
||||
var element = angular.copy(scaffold);
|
||||
_.each(element.variants[0].tabs, function (tab) {
|
||||
_.each(tab.properties, function (property) {
|
||||
@@ -68,7 +154,7 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
openContent(element, block);
|
||||
}
|
||||
|
||||
@@ -77,7 +163,7 @@
|
||||
element: element,
|
||||
title: "TODO: Edit block title here",
|
||||
view: "views/propertyeditors/blockeditor/blockeditor.editcontent.html",
|
||||
submit: function(model) {
|
||||
submit: function (model) {
|
||||
_.each(element.variants[0].tabs, function (tab) {
|
||||
_.each(tab.properties, function (property) {
|
||||
block.content[property.alias] = property.value;
|
||||
@@ -89,7 +175,7 @@
|
||||
|
||||
editorService.close();
|
||||
},
|
||||
close: function() {
|
||||
close: function () {
|
||||
editorService.close();
|
||||
}
|
||||
};
|
||||
@@ -102,11 +188,11 @@
|
||||
title: "TODO: Edit settings title here",
|
||||
view: "views/propertyeditors/blockeditor/blockeditor.editsettings.html",
|
||||
size: "medium",
|
||||
submit: function(model) {
|
||||
submit: function (model) {
|
||||
console.log("TODO: something with block settings", model)
|
||||
editorService.close();
|
||||
},
|
||||
close: function() {
|
||||
close: function () {
|
||||
editorService.close();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -6,11 +6,21 @@
|
||||
<div ng-if="!vm.loading">
|
||||
<umb-block-editor-blocks></umb-block-editor-blocks>
|
||||
|
||||
<div>
|
||||
Add:
|
||||
<div style="cursor:pointer" ng-click="vm.add(scaffold)" ng-repeat="scaffold in vm.scaffolds" class="di">
|
||||
<i class="icon {{scaffold.documentType.icon}}"></i>
|
||||
</div>
|
||||
<div class="umb-nested-content__footer-bar">
|
||||
<a href class="umb-nested-content__add-content" ng-class="{ '--disabled': !vm.scaffolds.length }" ng-click="vm.openNodeTypePicker($event)" prevent-default>
|
||||
<localize key="grid_addElement" ng-if="vm.scaffolds.length > 1"></localize>
|
||||
<span ng-if="vm.scaffolds.length === 1">
|
||||
<localize key="general_add"></localize> {{ vm.scaffolds[0].contentTypeName }}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<umb-overlay
|
||||
ng-if="vm.overlayMenu.show"
|
||||
position="target"
|
||||
size="vm.overlayMenu.size"
|
||||
view="vm.overlayMenu.view"
|
||||
model="vm.overlayMenu">
|
||||
</umb-overlay>
|
||||
</div>
|
||||
|
||||
@@ -281,22 +281,29 @@ angular.module("umbraco")
|
||||
$scope.openEditorOverlay = function (event, area, index, key) {
|
||||
var title = "";
|
||||
localizationService.localize("grid_insertControl").then(function (value) {
|
||||
title = value;
|
||||
$scope.editorOverlay = {
|
||||
view: "itempicker",
|
||||
filter: area.$allowedEditors.length > 15,
|
||||
title: title,
|
||||
availableItems: area.$allowedEditors,
|
||||
event: event,
|
||||
show: true,
|
||||
submit: function (model) {
|
||||
if (model.selectedItem) {
|
||||
$scope.addControl(model.selectedItem, area, index);
|
||||
$scope.editorOverlay.show = false;
|
||||
$scope.editorOverlay = null;
|
||||
if (area.$allowedEditors.length > 1) {
|
||||
title = value;
|
||||
$scope.editorOverlay = {
|
||||
view: "itempicker",
|
||||
filter: area.$allowedEditors.length > 15,
|
||||
title: title,
|
||||
size: area.$allowedEditors.some(x => x.thumbnail) ? 'large' : 'small',
|
||||
availableItems: area.$allowedEditors,
|
||||
event: event,
|
||||
show: true,
|
||||
submit: function (model) {
|
||||
if (model.selectedItem) {
|
||||
console.log(model.selectedItem);
|
||||
$scope.addControl(model.selectedItem, area, index);
|
||||
$scope.editorOverlay.show = false;
|
||||
$scope.editorOverlay = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
} else {
|
||||
console.log(area.$allowedEditors[0]);
|
||||
$scope.addControl(area.$allowedEditors[0], area, index);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -226,7 +226,11 @@
|
||||
|
||||
<!-- if area is empty tools -->
|
||||
<div class="umb-grid-add-more-content" ng-if="area.controls.length > 0 && !sortMode && (area.maxItems == undefined || area.maxItems == '' || area.maxItems == 0 || area.maxItems > area.controls.length)">
|
||||
<div class="cell-tools-add -bar newbtn" ng-click="openEditorOverlay($event, area, 0, area.$uniqueId);"><localize key="grid_addElement" /></div>
|
||||
<div class="cell-tools-add -bar newbtn" ng-click="openEditorOverlay($event, area, 0, area.$uniqueId);">
|
||||
<localize key="grid_addElement" ng-if="area.$allowedEditors.length > 1"></localize>
|
||||
<span ng-show="area.$allowedEditors.length === 1">
|
||||
<localize key="general_add"></localize> {{ area.$allowedEditors[0].name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -300,6 +304,7 @@
|
||||
ng-if="editorOverlay.show"
|
||||
model="editorOverlay"
|
||||
view="editorOverlay.view"
|
||||
size="editorOverlay.size"
|
||||
position="target">
|
||||
</umb-overlay>
|
||||
|
||||
|
||||
+11
-2
@@ -184,7 +184,9 @@ angular.module("umbraco").controller("Umbraco.PropertyEditors.NestedContent.Prop
|
||||
$scope.overlayMenu.availableItems.push({
|
||||
alias: scaffold.contentTypeAlias,
|
||||
name: scaffold.contentTypeName,
|
||||
icon: iconHelper.convertFromLegacyIcon(scaffold.icon)
|
||||
icon: iconHelper.convertFromLegacyIcon(scaffold.icon),
|
||||
thumbnail: scaffold.thumbnail,
|
||||
description: scaffold.documentType.description
|
||||
});
|
||||
});
|
||||
|
||||
@@ -192,7 +194,11 @@ angular.module("umbraco").controller("Umbraco.PropertyEditors.NestedContent.Prop
|
||||
return;
|
||||
}
|
||||
|
||||
$scope.overlayMenu.size = $scope.overlayMenu.availableItems.length > 6 ? "medium" : "small";
|
||||
if ($scope.overlayMenu.availableItems.some(x => x.thumbnail)) {
|
||||
$scope.overlayMenu.size = 'large';
|
||||
} else {
|
||||
$scope.overlayMenu.size = $scope.overlayMenu.availableItems.length > 6 ? "medium" : "small";
|
||||
}
|
||||
|
||||
$scope.overlayMenu.pasteItems = [];
|
||||
var availableNodesForPaste = clipboardService.retriveDataOfType("elementType", contentTypeAliases);
|
||||
@@ -399,6 +405,9 @@ angular.module("umbraco").controller("Umbraco.PropertyEditors.NestedContent.Prop
|
||||
});
|
||||
}
|
||||
|
||||
// pass the thumbnail on to the scaffold
|
||||
scaffold.thumbnail = contentType.thumbnail;
|
||||
|
||||
// Store the scaffold object
|
||||
$scope.scaffolds.push(scaffold);
|
||||
}
|
||||
|
||||
+2
-1
@@ -37,7 +37,8 @@
|
||||
|
||||
<div class="umb-nested-content__footer-bar" ng-hide="hasContentTypes === false || nodes.length >= maxItems">
|
||||
<a href class="umb-nested-content__add-content" ng-class="{ '--disabled': !scaffolds.length }" ng-click="openNodeTypePicker($event)" prevent-default>
|
||||
<localize key="grid_addElement"></localize>
|
||||
<localize key="grid_addElement" ng-if="scaffolds.length > 1"></localize>
|
||||
<span ng-if="scaffolds.length === 1"><localize key="general_add"></localize> {{ scaffolds[0].contentTypeName }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user