jsharmony-cms
Version:
156 lines • 8.44 kB
JSON
{
"Media_Tree": {
"layout":"form",
"table":"",
"actions":"BIUD",
"roles": {"AUTHOR": "BIUD","PUBLISHER": "BIUD","VIEWER":"B"},
"title":"Media",
"caption":["Media","Media"],
"unbound":true,
"menu":"jsHarmonyCMS/Media_Listing",
"breadcrumbs":"#CMS_BRANCH_BREADCRUMBS",
"buttons":[
{ "name": "addFile", "link":"js:_this.addFile();","icon":"add","text":"Add File", "roles": {"AUTHOR": "I","PUBLISHER": "I"} },
{ "name": "search", "link":"update:Media_Listing","icon":"search","text":"Search","bindings":{} },
{ "name": "toggleSidebar", "link":"js:_this.toggleSidebar();","icon":"sidebar","text":"Toggle Sidebar" },
{ "name": "sortFileName", "link":"js:_this.setSort('filename');","icon":"bullet","text":"File Name","group":"Sort By" },
{ "name": "sortDate", "link":"js:_this.setSort('date');","icon":"bullet","text":"Date","group":"Sort By" },
{ "name": "sortDescription", "link":"js:_this.setSort('description');","icon":"bullet","text":"Description","group":"Sort By" },
{ "name": "sortSize", "link":"js:_this.setSort('size');","icon":"bullet","text":"Size","group":"Sort By" },
{ "name": "sortType", "link":"js:_this.setSort('type');","icon":"bullet","text":"Type","group":"Sort By" },
{ "name": "viewTiles", "link":"js:_this.setView('tiles');","icon":"tiles","text":"Tiles","group":"View" },
{ "name": "viewDetails", "link":"js:_this.setView('details');","icon":"list","text":"Details","group":"View" }
],
"hide_system_buttons" : ["print","export","help","delete"],
"oninit": "_this.oninit();",
"onload": "_this.onload();",
"ongetstate": "return _this.ongetstate(xmodel);",
"onloadstate": "_this.onloadstate(xmodel, state);",
"fields":[
{"name":"form_instructions","control":"html","roles": {"AUTHOR": "B","PUBLISHER": "B"},"value":[
"<div style='position:relative;top:-4px;'><span style='font-size:1.3em;position:relative;top:1px;margin-right:2px;margin-left:4px;'>🛈</span> Right-click folders and files for options :: Drag to reorder</div>",
]},
{"control": "html", "value": "<div class=\"clear\"></div><div class='<%=model.class%>_browser'>" },
{"name": "media_folder", "actions": "BIUD","foreignkey":1,"caption": "","control": "tree",
"unbound": 1, "always_editable":1,
"default": "/",
"lov": {
"sql": "select distinct null as code_id, null as code_parent_id, (case $ifnull(media_folder,'') when '' then '/' else media_folder end) as code_val, null as code_txt, 'folder' as code_icon from {schema}.v_my_media order by (case $ifnull(media_folder,'') when '' then '/' else media_folder end)",
"post_process": "jsh.generateLOVTree(values, { root_txt: '%%%ROOT%%%', new_code_val: function(patharr){ var rslt = patharr.join('/'); if(!rslt) return '/'; return '/'+rslt+'/'; } });"
},
"controlparams": {
"expand_all": true,
"item_context_menu": [
{ "icon": "add", "text": "Add File", "command": "_this.addFile(context_item);", "actions": "I" },
{ "icon": "add", "text": "Add Subfolder", "command": "_this.addFolder(context_item);", "actions": "I" },
{ "icon": "edit", "text": "Rename Folder", "command": "_this.renameFolder(context_item);", "actions": "U" },
{ "icon": "export", "text": "Move Folder", "command": "_this.moveFolder(context_item);", "actions": "U" },
{ "icon": "delete", "text": "Delete Folder", "command": "_this.deleteFolder(context_item);", "actions": "D" }
],
"item_dropdown": { "caption": "Actions" },
"onmove": "return _this.media_folder_onmove(dragval, dropval, anchor, e);",
"ondrop": "return _this.media_folder_ondrop(dropval, anchor, e);",
"drag_anchor_settings": { "anchors": ["full"] }
},
"onchange": "_this.media_folder_onchange(obj,newval);"
},
{"control":"html","value":"<div class='<%=model.class%>_file_listing'></div>"},
{"control":"html","value":"<div class='<%=model.class%>_file_info'></div>"},
{"control":"html", "value": "</div>"},
{"name": "media_type", "control":"hidden", "lov": { "code": "media_type", "schema": "{schema}", "blank": true } },
{"name": "revision_media_key", "control":"hidden"},
{"name": "revision_media_id", "control":"hidden"},
{"name": "revision_media","unbound":true,"control":"hidden","bindings":{"revision_media_key":"revision_media_key"},
"popuplov": {"target": "Media_Revision_Listing", "code_val": "media_id", "popupstyle": "height:400px;width:770px;", "popupiconstyle": "display:none;"}
}
]
},
"Media_Tree_File_Listing": {
"layout": "exec",
"title": "Media File Listing",
"actions": "U",
"roles": {"AUTHOR": "U","PUBLISHER": "U","VIEWER":"U"},
"sqlexec": [
"select media_key, media_file_id, media_id, media_desc, media_path, media_folder, media_filename, media_tags, media_type, media_ext, media_size, media_width, media_height, media_uptstmp, jsharmony.my_db_user_fmt(media_upuser) media_upuser_fmt, media_mtstmp, jsharmony.my_db_user_fmt(media_muser) media_muser_fmt from {schema}.v_my_media where media_folder=@media_folder and media_file_id is not null order by media_filename, media_key"
],
"fields": [
{"name":"media_folder", "actions":"U", "type":"varchar", "length": 2048, "caption":"Media Folder", "validate": ["Required"]}
]
},
"Media_Revision_Update": {
"layout": "exec",
"title": "Update Media Revision",
"actions": "U",
"roles": {"AUTHOR": "U","PUBLISHER": "U"},
"sqlexec": [
"update {schema}.branch_media set media_id=@media_id,branch_media_action=(case branch_media_action when 'ADD' then 'ADD' else 'UPDATE' end) where media_key=@media_key and branch_id={schema}.my_current_branch_id();"
],
"fields": [
{"name":"media_key", "actions":"U", "type":"bigint", "caption":"Media Key", "validate": ["Required"]},
{"name":"media_id", "actions":"U", "type":"bigint", "caption":"Media ID", "validate": ["Required"]}
]
},
"Media_Tree_Folder_Add": {
"layout": "exec",
"title": "Add Media Folder",
"actions": "U",
"roles": {"AUTHOR": "U","PUBLISHER": "U"},
"sqlexec": [
"insert into {schema}.v_my_media(media_path,media_is_folder) values(@media_path,1);"
],
"fields": [
{"name":"media_path", "actions":"U", "type":"varchar", "length": 2048, "caption":"Media Folder", "validate": ["Required"]}
]
},
"Media_Tree_Folder_Move": {
"layout": "exec",
"title": "Move Media Folder",
"actions": "U",
"roles": {"AUTHOR": "U","PUBLISHER": "U"},
"sqlexec": [
[
"update {schema}.v_my_media set media_path = concat(@new_media_folder,substr(media_path,length(@old_media_folder)+1)) where media_folder like concat(@old_media_folder,'%');"
]
],
"fields": [
{"name":"old_media_folder", "actions":"U", "type":"varchar", "length": 2048, "caption":"Media Folder", "validate": ["Required"]},
{"name":"new_media_folder", "actions":"U", "type":"varchar", "length": 2048, "caption":"Media Folder", "validate": ["Required"]}
]
},
"Media_Tree_Folder_Delete": {
"layout": "exec",
"title": "Delete Media Folder",
"actions": "U",
"roles": {"AUTHOR": "U","PUBLISHER": "U"},
"sqlexec": [
[
"delete from {schema}.v_my_media where media_folder like concat(@media_folder,'%');"
]
],
"fields": [
{"name":"media_folder", "actions":"U", "type":"varchar", "length": 2048, "caption":"Media Folder", "validate": ["Required"]}
]
},
"Media_Browser": {
"inherits": "Media_Tree",
"title": "",
"css": [
".xbody_<%=model.class%> .bcrumbs { width: auto; display:inline-block; }",
".<%=model.class%>_file_info { display:none; }"
],
"js": "jsh.App[modelid].isInEditor = true;",
"popup": [1000, 600],
"buttons":[
{ "name": "search", "__REMOVE__": true }
],
"fields":[
{"name":"form_instructions","__REMOVE__":true},
]
},
"Media_Browser_Tab": {
"inherits": "Media_Browser",
"fields": [
{"control":"html","value":"<h1>Media</h1>","__AFTER__":"__START__"}
]
}
}