<?xml version="1.0" encoding="UTF-8"?>
-<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets"
- id="http://sample-web-application.tizen.org/file-manager" version="2.1.0"
- viewmodes="maximized">
- <tizen:application id="km8AETYhee.FileManager"
- package="km8AETYhee" required_version="2.1" />
- <icon src="icon.png" />
+<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="http://sample-web-application.tizen.org/file-manager" version="2.1.0" viewmodes="maximized">
+ <tizen:application id="km8AETYhee.FileManager" package="km8AETYhee" required_version="2.1"/>
+ <icon src="icon.png"/>
<name>FileManager</name>
- <tizen:privilege name="http://tizen.org/privilege/content.read" />
- <tizen:privilege name="http://tizen.org/privilege/content.write" />
- <tizen:privilege name="http://tizen.org/privilege/application.launch" />
- <tizen:privilege name="http://tizen.org/privilege/filesystem.read" />
- <tizen:privilege name="http://tizen.org/privilege/filesystem.write" />
- <tizen:setting screen-orientation="portrait"
- context-menu="disable" background-support="disable" encryption="disable"
- install-location="auto" />
+ <tizen:privilege name="http://tizen.org/privilege/content.read"/>
+ <tizen:privilege name="http://tizen.org/privilege/content.write"/>
+ <tizen:privilege name="http://tizen.org/privilege/application.launch"/>
+ <tizen:privilege name="http://tizen.org/privilege/filesystem.read"/>
+ <tizen:privilege name="http://tizen.org/privilege/filesystem.write"/>
+ <tizen:setting screen-orientation="portrait" context-menu="disable" background-support="disable" encryption="disable" install-location="auto"/>
</widget>
#morePopup td.text {
padding: 5px;
}
+#morePopup {
+ margin: 2px;
+}
.ui-header.ui-bar-s .ui-btn.standard {
width: 100%;
/**
* @type Array
*/
- requires: ['js/app.config.js', 'js/app.model.js', 'js/app.ui.js', 'js/app.ui.templateManager.js', 'js/app.systemIO.js', 'js/app.helpers.js', 'js/app.clipboard.js'],
+ requires: [
+ 'js/app.config.js',
+ 'js/app.model.js',
+ 'js/app.ui.js',
+ 'js/app.ui.templateManager.js',
+ 'js/app.ui.templateManager.modifiers.js',
+ 'js/app.systemIO.js',
+ 'js/app.helpers.js',
+ 'js/app.clipboard.js'
+ ],
/**
* @type Model
return true;
},
+ emptyClipboard: function App_emptyClipboard() {
+ return this.clipboard.get().length === 0;
+ },
+
/**
* Handler for paste clipboard success
*/
}
});
- $('#saveNewFolder').on('tap', function () {
- var folderName = $('#newFolderName').val().trim();
- if (folderName === '') {
- alert("Empty folder name");
- } else if (folderName.match(/[\*\.\/\\\?\"\'\:<>|]/)) {
- alert("The following special characters are not allowed: *./\\?:<>|'\"");
- } else {
- app.createDir(folderName);
- }
- });
+ $('#saveNewFolder').on('tap', this.saveNewFolder.bind(this));
+ $('#newFolderForm').on('submit', this.saveNewFolder.bind(this));
+
$('#newFolderActionBtn, #pasteActionBtn').on('tap', function (e) {
+// $('a#pasteActionBtn').off('tap', app.pasteClipboard.bind(app));
setTimeout(function () {
+// $('a#pasteActionBtn').on('tap', app.pasteClipboard.bind(app));
$('#morePopup').popupwindow('close');
}, 700);
});
//$('.ui-page').css('min-height', 0);
},
+ saveNewFolder: function Ui_saveNewFolder(e) {
+ var folderName = $('#newFolderName').val().trim(), status = true;
+ e.preventDefault();
+ e.stopPropagation();
+ if (folderName === '') {
+ alert("Empty folder name");
+ status = false;
+ } else if (folderName.match(/[\*\.\/\\\?\"\'\:<>|]/)) {
+ alert("The following special characters are not allowed: *./\\?:<>|'\"");
+ status = false;
+ } else {
+ app.createDir(folderName);
+ $("#addFolderPopup").popup('close');
+ }
+ return status;
+ },
+
clearTabbars: function Ui_clearTabbars() {
$('[data-role = "tabbar"] li > a').removeClass('ui-focus, ui-btn-active');
},
$('.standardTabbar').hide();
$('div.editTabbar').show();
this.disableControlBarButtons($('div.editTabbar'), [this.EDIT_TABBAR_DELETE_ACTION, this.EDIT_TABBAR_COPY_ACTION, this.EDIT_TABBAR_MOVE_ACTION]);
+ $('#fileList .folder .nodename').animate({'width': '70%'});
this.showEditCheckBoxes();
},
this.clearTabbars();
$('div.editTabbar').hide();
$('.standardTabbar').show();
+ $('#fileList .folder .nodename').animate({'width': '75%'});
this.hideEditCheckBoxes();
},
this.updateTitle(folderName);
// update navbar
this.updateNavbar(folderName);
+ this.refreshPasteActionBtn();
nodes.sort(this.fileComparison);
/**
* Enable/Disable
*/
- refreshPasteActionBtn: function Ui_refreshPasteActionBtn(clipboardEmpty) {
- if (clipboardEmpty === true) {
+ refreshPasteActionBtn: function Ui_refreshPasteActionBtn() {
+ if (app.emptyClipboard()) {
$('#pasteActionBtnRow').addClass('hidden');
} else {
$('#pasteActionBtnRow').removeClass('hidden');
-/*global tizen, $, app */
+/*global tizen, $, app, ModifierManager */
/**
* @class TemplateManager
*/
* UI module initialisation
*/
init: function init() {
+ this.modifiers = new ModifierManager().getAll();
},
/**
* @param {string} tplParams
*/
getCompleted: function TemplateManager_getCompleted(tplHtml, tplParams) {
- var tplParam, replaceRegExp;
+ var tplParam;
for (tplParam in tplParams) {
if (tplParams.hasOwnProperty(tplParam)) {
- replaceRegExp = new RegExp(['%', tplParam, '%'].join(''), 'g');
- tplHtml = tplHtml.replace(replaceRegExp, tplParams[tplParam]);
+ tplHtml = this.passThruModifiers(tplHtml, tplParam, tplParams[tplParam]);
}
}
return tplHtml;
+ },
+
+ passThruModifiers: function (tplHtml, tplParam, content) {
+ var regModOn = new RegExp('%' + tplParam + '\\|([a-zA-Z]){1,}%', 'g'),
+ regModOff = new RegExp(['%', tplParam, '%'].join(''), 'g'),
+ regModGet = new RegExp('%' + tplParam + '\\|(.+?)%'),
+ modifier;
+
+ if (regModOn.test(tplHtml)) {
+ modifier = tplHtml.match(regModGet)[1];
+ try {
+ content = this.modifiers[modifier](content);
+ } catch (error) {
+ console.error('unknown modifier: ' + modifier);
+ }
+ tplHtml = tplHtml.replace(regModOn, content);
+ } else {
+ tplHtml = tplHtml.replace(regModOff, content);
+ }
+
+ return tplHtml;
}
};
--- /dev/null
+/*global $*/
+/**
+ * @class ModifierManager
+ */
+function ModifierManager() {
+ 'use strict';
+ this.init();
+}
+
+(function () {
+ 'use strict';
+ ModifierManager.prototype = {
+
+ /**
+ * UI module initialisation
+ */
+ init: function () {
+ },
+
+ /**
+ * @return modifiers object
+ */
+ getAll: function () {
+ return this.modifiers;
+ },
+
+ /**
+ * modifiers definitions
+ */
+ modifiers: {
+ escape: function escape(str) {
+ return $('<span>').text(str).html();
+ }
+ }
+ };
+}());
\ No newline at end of file
<li class="node folder ui-li-1line-bigicon1" id="row%id%" label="%name%" uri="%uri%" fullUri="%fullUri%">
<form class="my-ui-checkbox hidden"><input type="checkbox" /></form>
<img src="images/folder.png" class="ui-li-bigicon" />
- <span class="ui-li-text-main nodename">%name%</span>
+ <span class="ui-li-text-main nodename">%name|escape%</span>
</div>
</li>
\ No newline at end of file
<h1>Add new folder<h1>
</div>
<div class="ui-popup-text">
- <input id="newFolderName" type="text" value="New folder" class="newFolder" maxlength="255" />
+ <form id="newFolderForm">
+ <input id="newFolderName" type="text" value="New folder" class="newFolder" maxlength="255" />
+ </form>
</div>
<div class="ui-popup-button-bg">
<a data-role="button" id="saveNewFolder" data-rel="back" data-inline="true">Save</a>