[Kimchi-devel] [PATCH] Rename kimchi.template to kimchi.substitute
Hongliang Wang
hlwang at linux.vnet.ibm.com
Tue May 27 02:15:21 UTC 2014
On 05/26/2014 10:10 PM, Sheldon wrote:
> yes. substitute sounds good than template here.
>
>
> Just a minor inline comment below
> you can use
> $ git mv ui/js/src/kimchi.template.js ui/js/src/kimchi.substitute.js
>
> then modify a little in ui/js/src/kimchi.substitute.js
Yes. Actually I did it exactly as you said.
git mv
and vi kimchi.substitute.js
>
>
> On 05/26/2014 05:46 PM, Hongliang Wang wrote:
>> This function was designed to substitute variables in HTML template
>> strings originally
>> so it was named as kimchi.template, and it can be used in other
>> scenarios, e.g. we use
>> it when we load plugins we have a unified URL for plugin XML files:
>> /plugins/{plugin}/ui/config/tab-ext.xml
>> and after we have the plugins list, we can easily generate the
>> corresponding URLs like
>> /plugins/pluginA/ui/config/tab-ext.xml,
>> /plugins/pluginB/ui/config/tab-ext.xml.
>> by list ['pluginA', 'pluginB'].
>> Though it is sometimes misunderstood to be related with VM templates.
>> Renamed it in this patch.
>>
>> Signed-off-by: Hongliang Wang <hlwang at linux.vnet.ibm.com>
>> ---
>> ui/js/src/kimchi.grid.js | 2 +-
>> ui/js/src/kimchi.guest_add_main.js | 2 +-
>> ui/js/src/kimchi.guest_edit_main.js | 4 +--
>> ui/js/src/kimchi.guest_media_main.js | 2 +-
>> ui/js/src/kimchi.host.js | 2 +-
>> ui/js/src/kimchi.main.js | 2 +-
>> ui/js/src/kimchi.network.js | 2 +-
>> ui/js/src/kimchi.storage_main.js | 4 +--
>> ui/js/src/kimchi.storagepool_add_main.js | 2 +-
>> ui/js/src/kimchi.substitute.js | 45
>> ++++++++++++++++++++++++++++++++
>> ui/js/src/kimchi.template.js | 45
>> --------------------------------
>> ui/js/src/kimchi.template_add_main.js | 4 +--
>> ui/js/src/kimchi.template_edit_main.js | 2 +-
>> ui/js/src/kimchi.template_main.js | 2 +-
>> 14 files changed, 60 insertions(+), 60 deletions(-)
>> create mode 100644 ui/js/src/kimchi.substitute.js
>> delete mode 100644 ui/js/src/kimchi.template.js
>>
>> diff --git a/ui/js/src/kimchi.grid.js b/ui/js/src/kimchi.grid.js
>> index 055f487..2c70969 100644
>> --- a/ui/js/src/kimchi.grid.js
>> +++ b/ui/js/src/kimchi.grid.js
>> @@ -375,7 +375,7 @@ kimchi.widget.Grid.prototype = (function() {
>> var container = $('#' + containerID);
>> var gridID = this['opts']['id'];
>> var rowSelection = this['opts']['rowSelection'] || 'single';
>> - var domNode = $(kimchi.template(htmlStr, {
>> + var domNode = $(kimchi.substitute(htmlStr, {
>> id: gridID,
>> loading: i18n['KCHGRD6001M'],
>> message: i18n['KCHGRD6002M'],
>> diff --git a/ui/js/src/kimchi.guest_add_main.js
>> b/ui/js/src/kimchi.guest_add_main.js
>> index 2113099..eefd59a 100644
>> --- a/ui/js/src/kimchi.guest_add_main.js
>> +++ b/ui/js/src/kimchi.guest_add_main.js
>> @@ -25,7 +25,7 @@ kimchi.guest_add_main = function() {
>> var html = '';
>> var tmpl = $('#tmpl-template').html();
>> $.each(result, function(index, value) {
>> - html += kimchi.template(tmpl, value);
>> + html += kimchi.substitute(tmpl, value);
>> });
>> $('#templateTile').html(html);
>> return;
>> diff --git a/ui/js/src/kimchi.guest_edit_main.js
>> b/ui/js/src/kimchi.guest_edit_main.js
>> index 0236e2d..90dcb32 100644
>> --- a/ui/js/src/kimchi.guest_edit_main.js
>> +++ b/ui/js/src/kimchi.guest_edit_main.js
>> @@ -42,7 +42,7 @@ kimchi.guest_edit_main = function() {
>> $.each(storages, function(index, storage) {
>> storage['vm'] = kimchi.selectedGuest;
>> rowHTML = $('#' + storage['type'] +
>> '-row-tmpl').html();
>> - var templated = kimchi.template(rowHTML, storage);
>> + var templated = kimchi.substitute(rowHTML, storage);
>> container.append(templated);
>> });
>>
>> @@ -96,7 +96,7 @@ kimchi.guest_edit_main = function() {
>> $(".action-area", item).toggleClass("hide");
>> };
>> var addItem = function(data) {
>> - var itemNode =
>> $.parseHTML(kimchi.template($('#interface-tmpl').html(),data));
>> + var itemNode =
>> $.parseHTML(kimchi.substitute($('#interface-tmpl').html(),data));
>> $(".body", "#form-guest-edit-interface").append(itemNode);
>> $("select", itemNode).append(networkOptions);
>> if(data.network!==""){
>> diff --git a/ui/js/src/kimchi.guest_media_main.js
>> b/ui/js/src/kimchi.guest_media_main.js
>> index 02009ec..d6dee2e 100644
>> --- a/ui/js/src/kimchi.guest_media_main.js
>> +++ b/ui/js/src/kimchi.guest_media_main.js
>> @@ -28,7 +28,7 @@ kimchi.guest_media_main = function() {
>>
>> $.each(storages, function(index, storage) {
>> storage['vm'] = kimchi.selectedGuest;
>> - var templated = kimchi.template(rowHTML, storage);
>> + var templated = kimchi.substitute(rowHTML, storage);
>> container.append(templated);
>> });
>>
>> diff --git a/ui/js/src/kimchi.host.js b/ui/js/src/kimchi.host.js
>> index 4c94fc1..ee59a7e 100644
>> --- a/ui/js/src/kimchi.host.js
>> +++ b/ui/js/src/kimchi.host.js
>> @@ -485,7 +485,7 @@ kimchi.host_main = function() {
>> data['memory'] = kimchi.formatMeasurement(data['memory'], {
>> fixed: 2
>> });
>> - var templated = kimchi.template(htmlTmpl, data);
>> + var templated = kimchi.substitute(htmlTmpl, data);
>> $('#host-content-container').html(templated);
>>
>> initPage();
>> diff --git a/ui/js/src/kimchi.main.js b/ui/js/src/kimchi.main.js
>> index 86fed5b..184029d 100644
>> --- a/ui/js/src/kimchi.main.js
>> +++ b/ui/js/src/kimchi.main.js
>> @@ -69,7 +69,7 @@ kimchi.main = function() {
>> var tabs = retrieveTabs(tabConfigUrl);
>> kimchi.listPlugins(function(plugins) {
>> $(plugins).each(function(i, p) {
>> - var url = kimchi.template(pluginConfigUrl, {
>> + var url = kimchi.substitute(pluginConfigUrl, {
>> plugin: p
>> });
>> tabs.push.apply(tabs, retrieveTabs(url));
>> diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js
>> index ca6d29b..875bc08 100644
>> --- a/ui/js/src/kimchi.network.js
>> +++ b/ui/js/src/kimchi.network.js
>> @@ -63,7 +63,7 @@ kimchi.getNetworkItemHtml = function(network) {
>> }
>>
>> var disable_in_use = network.in_use ? "ui-state-disabled" : "";
>> - var networkItem = kimchi.template($('#networkItem').html(), {
>> + var networkItem = kimchi.substitute($('#networkItem').html(), {
>> name : network.name,
>> state : network.state,
>> type : network.type,
>> diff --git a/ui/js/src/kimchi.storage_main.js
>> b/ui/js/src/kimchi.storage_main.js
>> index 6052510..1493124 100644
>> --- a/ui/js/src/kimchi.storage_main.js
>> +++ b/ui/js/src/kimchi.storage_main.js
>> @@ -25,7 +25,7 @@ kimchi.doListStoragePools = function() {
>> value.capacity =
>> kimchi.changetoProperUnit(value.capacity,1);
>> value.allocated =
>> kimchi.changetoProperUnit(value.allocated,1);
>> if ('kimchi-iso' !== value.type) {
>> - listHtml += kimchi.template(storageHtml, value);
>> + listHtml += kimchi.substitute(storageHtml, value);
>> }
>> });
>> $('#storagepoolsList').html(listHtml);
>> @@ -172,7 +172,7 @@ kimchi.doListVolumes = function(poolObj) {
>> value.poolname = poolObj.data('name');
>> value.capacity =
>> kimchi.changetoProperUnit(value.capacity,1);
>> value.allocation =
>> kimchi.changetoProperUnit(value.allocation,1);
>> - listHtml += kimchi.template(volumeHtml, value);
>> + listHtml += kimchi.substitute(volumeHtml, value);
>> });
>> volumeDiv.html(listHtml);
>> } else {
>> diff --git a/ui/js/src/kimchi.storagepool_add_main.js
>> b/ui/js/src/kimchi.storagepool_add_main.js
>> index 86dbe7f..050aa90 100644
>> --- a/ui/js/src/kimchi.storagepool_add_main.js
>> +++ b/ui/js/src/kimchi.storagepool_add_main.js
>> @@ -30,7 +30,7 @@ kimchi.initStorageAddPage = function() {
>> valid_types = ['part', 'disk', 'mpath'];
>> $.each(data, function(index, value) {
>> if (valid_types.indexOf(value.type) != -1) {
>> - listHtml += kimchi.template(deviceHtml, value);
>> + listHtml += kimchi.substitute(deviceHtml, value);
>> }
>> });
>> $('.host-partition').html(listHtml);
>> diff --git a/ui/js/src/kimchi.substitute.js
>> b/ui/js/src/kimchi.substitute.js
>> new file mode 100644
>> index 0000000..27ca8ed
>> --- /dev/null
>> +++ b/ui/js/src/kimchi.substitute.js
>> @@ -0,0 +1,45 @@
>> +/*
>> + * Project Kimchi
>> + *
>> + * Copyright IBM, Corp. 2013
>> + *
>> + * Licensed under the Apache License, Version 2.0 (the "License");
>> + * you may not use this file except in compliance with the License.
>> + * You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing, software
>> + * distributed under the License is distributed on an "AS IS" BASIS,
>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> + * See the License for the specific language governing permissions and
>> + * limitations under the License.
>> + */
>> +kimchi.substitute = function(templatedStr, data, tag) {
>> + tag = tag || /\{([^\}]+)\}/g;
>> +
>> + var escapeHtml = function(html) {
>> + return String(html)
>> + .replace(/&/g, '&')
>> + .replace(/</g, '<')
>> + .replace(/>/g, '>')
>> + .replace(/"/g, '"')
>> + .replace(/'/g, ''');
>> + };
>> +
>> + return templatedStr.replace(tag, function(matchResult, express) {
>> + var propertyArray = express.split('!');
>> + var defaultValue = propertyArray[1] || '';
>> + propertyArray = propertyArray[0].split('.');
>> + var value = data, i = 0, l = propertyArray.length, property;
>> + for (; i < l; i++) {
>> + property = propertyArray[i];
>> + if (value) {
>> + value = value[property];
>> + } else {
>> + break;
>> + }
>> + }
>> + return escapeHtml((value || value === 0) ? value :
>> defaultValue);
>> + });
>> +};
>> diff --git a/ui/js/src/kimchi.template.js b/ui/js/src/kimchi.template.js
>> deleted file mode 100644
>> index 082269f..0000000
>> --- a/ui/js/src/kimchi.template.js
>> +++ /dev/null
>> @@ -1,45 +0,0 @@
>> -/*
>> - * Project Kimchi
>> - *
>> - * Copyright IBM, Corp. 2013
>> - *
>> - * Licensed under the Apache License, Version 2.0 (the "License");
>> - * you may not use this file except in compliance with the License.
>> - * You may obtain a copy of the License at
>> - *
>> - * http://www.apache.org/licenses/LICENSE-2.0
>> - *
>> - * Unless required by applicable law or agreed to in writing, software
>> - * distributed under the License is distributed on an "AS IS" BASIS,
>> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> - * See the License for the specific language governing permissions and
>> - * limitations under the License.
>> - */
>> -kimchi.template = function(templateStr, data, tag) {
>> - tag = tag || /\{([^\}]+)\}/g;
>> -
>> - var escapeHtml = function(html) {
>> - return String(html)
>> - .replace(/&/g, '&')
>> - .replace(/</g, '<')
>> - .replace(/>/g, '>')
>> - .replace(/"/g, '"')
>> - .replace(/'/g, ''');
>> - };
>> -
>> - return templateStr.replace(tag, function(matchResult, express) {
>> - var propertyArray = express.split('!');
>> - var defaultValue = propertyArray[1] || '';
>> - propertyArray = propertyArray[0].split('.');
>> - var value = data, i = 0, l = propertyArray.length, property;
>> - for (; i < l; i++) {
>> - property = propertyArray[i];
>> - if (value) {
>> - value = value[property];
>> - } else {
>> - break;
>> - }
>> - }
>> - return escapeHtml((value || value === 0) ? value :
>> defaultValue);
>> - });
>> -};
>> diff --git a/ui/js/src/kimchi.template_add_main.js
>> b/ui/js/src/kimchi.template_add_main.js
>> index dbb3952..e9adbac 100644
>> --- a/ui/js/src/kimchi.template_add_main.js
>> +++ b/ui/js/src/kimchi.template_add_main.js
>> @@ -152,7 +152,7 @@ kimchi.template_add_main = function() {
>> volume.isoId = isoId;
>> volume.capacity =
>> kimchi.changetoProperUnit(volume.capacity, 1);
>> kimchi.isoInfo[isoId] = volume;
>> - html += kimchi.template(template, volume);
>> + html += kimchi.substitute(template, volume);
>> }
>> });
>> $('#list-local-iso').append(html);
>> @@ -266,7 +266,7 @@ kimchi.template_add_main = function() {
>> if (!kimchi.isoInfo[isoId]) {
>> volume.isoId = isoId;
>> kimchi.isoInfo[isoId] = volume;
>> - html += kimchi.template(template, volume);
>> + html += kimchi.substitute(template, volume);
>> }
>> });
>> $('#list-remote-iso').html(html);
>> diff --git a/ui/js/src/kimchi.template_edit_main.js
>> b/ui/js/src/kimchi.template_edit_main.js
>> index 9ff8bcc..cffc685 100644
>> --- a/ui/js/src/kimchi.template_edit_main.js
>> +++ b/ui/js/src/kimchi.template_edit_main.js
>> @@ -87,7 +87,7 @@ kimchi.template_edit_main = function() {
>> var html = '';
>> var tmpl = $('#tmpl-network').html();
>> $.each(result, function(index, network) {
>> - html += kimchi.template(tmpl, network);
>> + html += kimchi.substitute(tmpl, network);
>> });
>> $('#template-edit-network-list').html(html).show();
>> if(template.networks && template.networks.length >
>> 0) {
>> diff --git a/ui/js/src/kimchi.template_main.js
>> b/ui/js/src/kimchi.template_main.js
>> index 160ecc8..b90e3f3 100644
>> --- a/ui/js/src/kimchi.template_main.js
>> +++ b/ui/js/src/kimchi.template_main.js
>> @@ -22,7 +22,7 @@ kimchi.doListTemplates = function() {
>> var listHtml = '';
>> var templateHtml = $('#templateTmpl').html();
>> $.each(result, function(index, value) {
>> - listHtml += kimchi.template(templateHtml, value);
>> + listHtml += kimchi.substitute(templateHtml, value);
>> });
>> $('#templateList').html(listHtml);
>> kimchi.templateBindClick();
>
>
More information about the Kimchi-devel
mailing list