Login screen new interface (social buttons)

This commit is contained in:
RainLoop Team 2014-10-30 17:59:25 +04:00
parent 28a684b7c8
commit 77a30c0b92
40 changed files with 622 additions and 630 deletions

View file

@ -441,7 +441,7 @@
}
});
if (bAnimate)
if (bAnimate && !Globals.bMobileDevice)
{
$('.i18n-animation.i18n', oElement).letterfx({
'fx': 'fall fade', 'backwards': false, 'timing': 50, 'fx_duration': '50ms', 'letter_end': 'restore', 'element_end': 'restore'

View file

@ -10,7 +10,7 @@
/**
* @constructor
*/
function AboutAdminSetting()
function AboutAdminSettings()
{
var
Settings = require('Storage/Settings'),
@ -67,7 +67,7 @@
}, this);
}
AboutAdminSetting.prototype.onBuild = function ()
AboutAdminSettings.prototype.onBuild = function ()
{
if (this.access())
{
@ -75,7 +75,7 @@
}
};
AboutAdminSetting.prototype.updateCoreData = function ()
AboutAdminSettings.prototype.updateCoreData = function ()
{
if (!this.coreUpdating())
{
@ -83,6 +83,6 @@
}
};
module.exports = AboutAdminSetting;
module.exports = AboutAdminSettings;
}());

View file

@ -13,7 +13,7 @@
/**
* @constructor
*/
function BrandingAdminSetting()
function BrandingAdminSettings()
{
var
Enums = require('Common/Enums'),
@ -40,7 +40,7 @@
this.loginPowered = ko.observable(!!Settings.settingsGet('LoginPowered'));
}
BrandingAdminSetting.prototype.onBuild = function ()
BrandingAdminSettings.prototype.onBuild = function ()
{
if (this.capa)
{
@ -99,6 +99,6 @@
}
};
module.exports = BrandingAdminSetting;
module.exports = BrandingAdminSettings;
}());

View file

@ -16,7 +16,7 @@
/**
* @constructor
*/
function ContactsAdminSetting()
function ContactsAdminSettings()
{
var
Remote = require('Storage/Admin/Remote')
@ -141,7 +141,7 @@
this.onTestContactsResponse = _.bind(this.onTestContactsResponse, this);
}
ContactsAdminSetting.prototype.onTestContactsResponse = function (sResult, oData)
ContactsAdminSettings.prototype.onTestContactsResponse = function (sResult, oData)
{
this.testContactsSuccess(false);
this.testContactsError(false);
@ -167,14 +167,14 @@
this.testing(false);
};
ContactsAdminSetting.prototype.onShow = function ()
ContactsAdminSettings.prototype.onShow = function ()
{
this.testContactsSuccess(false);
this.testContactsError(false);
this.testContactsErrorMessage('');
};
ContactsAdminSetting.prototype.onBuild = function ()
ContactsAdminSettings.prototype.onBuild = function ()
{
var
self = this,
@ -237,6 +237,6 @@
}, 50);
};
module.exports = ContactsAdminSetting;
module.exports = ContactsAdminSettings;
}());

View file

@ -19,7 +19,7 @@
/**
* @constructor
*/
function DomainsAdminSetting()
function DomainsAdminSettings()
{
this.domains = Data.domains;
@ -45,7 +45,7 @@
]});
}
DomainsAdminSetting.prototype.startDomainForDeletionTimeout = function ()
DomainsAdminSettings.prototype.startDomainForDeletionTimeout = function ()
{
var self = this;
window.clearInterval(this.iDomainForDeletionTimeout);
@ -54,24 +54,24 @@
}, 1000 * 3);
};
DomainsAdminSetting.prototype.createDomain = function ()
DomainsAdminSettings.prototype.createDomain = function ()
{
require('Knoin/Knoin').showScreenPopup(PopupsDomainViewModel);
};
DomainsAdminSetting.prototype.deleteDomain = function (oDomain)
DomainsAdminSettings.prototype.deleteDomain = function (oDomain)
{
this.domains.remove(oDomain);
Remote.domainDelete(_.bind(this.onDomainListChangeRequest, this), oDomain.name);
};
DomainsAdminSetting.prototype.disableDomain = function (oDomain)
DomainsAdminSettings.prototype.disableDomain = function (oDomain)
{
oDomain.disabled(!oDomain.disabled());
Remote.domainDisable(_.bind(this.onDomainListChangeRequest, this), oDomain.name, oDomain.disabled());
};
DomainsAdminSetting.prototype.onBuild = function (oDom)
DomainsAdminSettings.prototype.onBuild = function (oDom)
{
var self = this;
oDom
@ -87,7 +87,7 @@
require('App/Admin').reloadDomainList();
};
DomainsAdminSetting.prototype.onDomainLoadRequest = function (sResult, oData)
DomainsAdminSettings.prototype.onDomainLoadRequest = function (sResult, oData)
{
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
{
@ -95,11 +95,11 @@
}
};
DomainsAdminSetting.prototype.onDomainListChangeRequest = function ()
DomainsAdminSettings.prototype.onDomainListChangeRequest = function ()
{
require('App/Admin').reloadDomainList();
};
module.exports = DomainsAdminSetting;
module.exports = DomainsAdminSettings;
}());

View file

@ -18,7 +18,7 @@
/**
* @constructor
*/
function GeneralAdminSetting()
function GeneralAdminSettings()
{
this.mainLanguage = Data.mainLanguage;
this.mainTheme = Data.mainTheme;
@ -59,7 +59,7 @@
this.themeTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
}
GeneralAdminSetting.prototype.onBuild = function ()
GeneralAdminSettings.prototype.onBuild = function ()
{
var
self = this,
@ -128,7 +128,7 @@
}, 50);
};
GeneralAdminSetting.prototype.selectLanguage = function ()
GeneralAdminSettings.prototype.selectLanguage = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'));
};
@ -136,11 +136,11 @@
/**
* @return {string}
*/
GeneralAdminSetting.prototype.phpInfoLink = function ()
GeneralAdminSettings.prototype.phpInfoLink = function ()
{
return Links.phpInfo();
};
module.exports = GeneralAdminSetting;
module.exports = GeneralAdminSettings;
}());

View file

@ -14,7 +14,7 @@
/**
* @constructor
*/
function LicensingAdminSetting()
function LicensingAdminSettings()
{
this.licensing = Data.licensing;
this.licensingProcess = Data.licensingProcess;
@ -34,7 +34,7 @@
}, this);
}
LicensingAdminSetting.prototype.onBuild = function ()
LicensingAdminSettings.prototype.onBuild = function ()
{
if (this.subscriptionEnabled())
{
@ -42,12 +42,12 @@
}
};
LicensingAdminSetting.prototype.onShow = function ()
LicensingAdminSettings.prototype.onShow = function ()
{
this.adminDomain(Settings.settingsGet('AdminDomain'));
};
LicensingAdminSetting.prototype.showActivationForm = function ()
LicensingAdminSettings.prototype.showActivationForm = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Activate'));
};
@ -55,7 +55,7 @@
/**
* @returns {string}
*/
LicensingAdminSetting.prototype.licenseExpiredMomentValue = function ()
LicensingAdminSettings.prototype.licenseExpiredMomentValue = function ()
{
var
iTime = this.licenseExpired(),
@ -65,6 +65,6 @@
return iTime && 1898625600 === iTime ? 'Never' : (oDate.format('LL') + ' (' + oDate.from(moment()) + ')');
};
module.exports = LicensingAdminSetting;
module.exports = LicensingAdminSettings;
}());

View file

@ -17,7 +17,7 @@
/**
* @constructor
*/
function LoginAdminSetting()
function LoginAdminSettings()
{
this.determineUserLanguage = Data.determineUserLanguage;
this.determineUserDomain = Data.determineUserDomain;
@ -30,7 +30,7 @@
this.dummy = ko.observable(false);
}
LoginAdminSetting.prototype.onBuild = function ()
LoginAdminSettings.prototype.onBuild = function ()
{
var
self = this,
@ -68,6 +68,6 @@
}, 50);
};
module.exports = LoginAdminSetting;
module.exports = LoginAdminSettings;
}());

View file

@ -17,7 +17,7 @@
/**
* @constructor
*/
function PackagesAdminSetting()
function PackagesAdminSettings()
{
this.packagesError = ko.observable('');
@ -42,17 +42,17 @@
}, this);
}
PackagesAdminSetting.prototype.onShow = function ()
PackagesAdminSettings.prototype.onShow = function ()
{
this.packagesError('');
};
PackagesAdminSetting.prototype.onBuild = function ()
PackagesAdminSettings.prototype.onBuild = function ()
{
require('App/Admin').reloadPackagesList();
};
PackagesAdminSetting.prototype.requestHelper = function (oPackage, bInstall)
PackagesAdminSettings.prototype.requestHelper = function (oPackage, bInstall)
{
var self = this;
return function (sResult, oData) {
@ -89,7 +89,7 @@
};
};
PackagesAdminSetting.prototype.deletePackage = function (oPackage)
PackagesAdminSettings.prototype.deletePackage = function (oPackage)
{
if (oPackage)
{
@ -98,7 +98,7 @@
}
};
PackagesAdminSetting.prototype.installPackage = function (oPackage)
PackagesAdminSettings.prototype.installPackage = function (oPackage)
{
if (oPackage)
{
@ -107,6 +107,6 @@
}
};
module.exports = PackagesAdminSetting;
module.exports = PackagesAdminSettings;
}());

View file

@ -18,7 +18,7 @@
/**
* @constructor
*/
function PluginsAdminSetting()
function PluginsAdminSettings()
{
this.enabledPlugins = ko.observable(!!Settings.settingsGet('EnabledPlugins'));
@ -34,18 +34,18 @@
this.onPluginDisableRequest = _.bind(this.onPluginDisableRequest, this);
}
PluginsAdminSetting.prototype.disablePlugin = function (oPlugin)
PluginsAdminSettings.prototype.disablePlugin = function (oPlugin)
{
oPlugin.disabled(!oPlugin.disabled());
Remote.pluginDisable(this.onPluginDisableRequest, oPlugin.name, oPlugin.disabled());
};
PluginsAdminSetting.prototype.configurePlugin = function (oPlugin)
PluginsAdminSettings.prototype.configurePlugin = function (oPlugin)
{
Remote.plugin(this.onPluginLoadRequest, oPlugin.name);
};
PluginsAdminSetting.prototype.onBuild = function (oDom)
PluginsAdminSettings.prototype.onBuild = function (oDom)
{
var self = this;
@ -73,13 +73,13 @@
});
};
PluginsAdminSetting.prototype.onShow = function ()
PluginsAdminSettings.prototype.onShow = function ()
{
this.pluginsError('');
require('App/Admin').reloadPluginList();
};
PluginsAdminSetting.prototype.onPluginLoadRequest = function (sResult, oData)
PluginsAdminSettings.prototype.onPluginLoadRequest = function (sResult, oData)
{
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
{
@ -87,7 +87,7 @@
}
};
PluginsAdminSetting.prototype.onPluginDisableRequest = function (sResult, oData)
PluginsAdminSettings.prototype.onPluginDisableRequest = function (sResult, oData)
{
if (Enums.StorageResultType.Success === sResult && oData)
{
@ -107,6 +107,6 @@
require('App/Admin').reloadPluginList();
};
module.exports = PluginsAdminSetting;
module.exports = PluginsAdminSettings;
}());

View file

@ -19,7 +19,7 @@
/**
* @constructor
*/
function SecurityAdminSetting()
function SecurityAdminSettings()
{
this.useLocalProxyForExternalImages = Data.useLocalProxyForExternalImages;
@ -91,7 +91,7 @@
this.onNewAdminPasswordResponse = _.bind(this.onNewAdminPasswordResponse, this);
}
SecurityAdminSetting.prototype.onNewAdminPasswordResponse = function (sResult, oData)
SecurityAdminSettings.prototype.onNewAdminPasswordResponse = function (sResult, oData)
{
if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
{
@ -109,7 +109,7 @@
}
};
SecurityAdminSetting.prototype.onBuild = function ()
SecurityAdminSettings.prototype.onBuild = function ()
{
var
Remote = require('Storage/Admin/Remote')
@ -140,7 +140,7 @@
});
};
SecurityAdminSetting.prototype.onHide = function ()
SecurityAdminSettings.prototype.onHide = function ()
{
this.adminPassword('');
this.adminPasswordNew('');
@ -150,11 +150,11 @@
/**
* @return {string}
*/
SecurityAdminSetting.prototype.phpInfoLink = function ()
SecurityAdminSettings.prototype.phpInfoLink = function ()
{
return Links.phpInfo();
};
module.exports = SecurityAdminSetting;
module.exports = SecurityAdminSettings;
}());

View file

@ -14,7 +14,7 @@
/**
* @constructor
*/
function SocialAdminSetting()
function SocialAdminSettings()
{
var Data = require('Storage/Admin/Data');
@ -45,7 +45,7 @@
this.dropboxTrigger1 = ko.observable(Enums.SaveSettingsStep.Idle);
}
SocialAdminSetting.prototype.onBuild = function ()
SocialAdminSettings.prototype.onBuild = function ()
{
var
self = this,
@ -161,6 +161,6 @@
}, 50);
};
module.exports = SocialAdminSetting;
module.exports = SocialAdminSettings;
}());

View file

@ -19,7 +19,7 @@
/**
* @constructor
*/
function AccountsUserSetting()
function AccountsUserSettings()
{
this.accounts = Data.accounts;
@ -46,12 +46,12 @@
]});
}
AccountsUserSetting.prototype.addNewAccount = function ()
AccountsUserSettings.prototype.addNewAccount = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/AddAccount'));
};
AccountsUserSetting.prototype.editAccount = function (oAccountItem)
AccountsUserSettings.prototype.editAccount = function (oAccountItem)
{
if (oAccountItem && oAccountItem.canBeEdit())
{
@ -62,7 +62,7 @@
/**
* @param {AccountModel} oAccountToRemove
*/
AccountsUserSetting.prototype.deleteAccount = function (oAccountToRemove)
AccountsUserSettings.prototype.deleteAccount = function (oAccountToRemove)
{
if (oAccountToRemove && oAccountToRemove.deleteAccess())
{
@ -102,7 +102,7 @@
}
};
AccountsUserSetting.prototype.onBuild = function (oDom)
AccountsUserSettings.prototype.onBuild = function (oDom)
{
var self = this;
@ -117,6 +117,6 @@
;
};
module.exports = AccountsUserSetting;
module.exports = AccountsUserSettings;
}());

View file

@ -16,7 +16,7 @@
/**
* @constructor
*/
function ChangePasswordUserSetting()
function ChangePasswordUserSettings()
{
this.changeProcess = ko.observable(false);
@ -76,7 +76,7 @@
this.onChangePasswordResponse = _.bind(this.onChangePasswordResponse, this);
}
ChangePasswordUserSetting.prototype.onHide = function ()
ChangePasswordUserSettings.prototype.onHide = function ()
{
this.changeProcess(false);
this.currentPassword('');
@ -87,7 +87,7 @@
this.currentPassword.error(false);
};
ChangePasswordUserSetting.prototype.onChangePasswordResponse = function (sResult, oData)
ChangePasswordUserSettings.prototype.onChangePasswordResponse = function (sResult, oData)
{
this.changeProcess(false);
this.passwordMismatch(false);
@ -116,6 +116,6 @@
}
};
module.exports = ChangePasswordUserSetting;
module.exports = ChangePasswordUserSettings;
}());

View file

@ -13,7 +13,7 @@
/**
* @constructor
*/
function ContactsUserSetting()
function ContactsUserSettings()
{
this.contactsAutosave = Data.contactsAutosave;
@ -31,6 +31,15 @@
this.contactsSyncPass()
].join('|');
}, this).extend({'throttle': 500});
}
ContactsUserSettings.prototype.onBuild = function ()
{
Data.contactsAutosave.subscribe(function (bValue) {
Remote.saveSettings(null, {
'ContactsAutosave': bValue ? '1' : '0'
});
});
this.saveTrigger.subscribe(function () {
Remote.saveContactsSyncData(null,
@ -40,17 +49,8 @@
this.contactsSyncPass()
);
}, this);
}
ContactsUserSetting.prototype.onBuild = function ()
{
Data.contactsAutosave.subscribe(function (bValue) {
Remote.saveSettings(null, {
'ContactsAutosave': bValue ? '1' : '0'
});
});
};
module.exports = ContactsUserSetting;
module.exports = ContactsUserSettings;
}());

View file

@ -12,7 +12,7 @@
/**
* @constructor
*/
function FiltersUserSetting()
function FiltersUserSettings()
{
this.filters = ko.observableArray([]);
this.filters.loading = ko.observable(false);
@ -22,13 +22,13 @@
});
}
FiltersUserSetting.prototype.deleteFilter = function (oFilter)
FiltersUserSettings.prototype.deleteFilter = function (oFilter)
{
this.filters.remove(oFilter);
Utils.delegateRunOnDestroy(oFilter);
};
FiltersUserSetting.prototype.addFilter = function ()
FiltersUserSettings.prototype.addFilter = function ()
{
var
FilterModel = require('Model/Filter')
@ -38,6 +38,6 @@
require('View/Popup/Filter'), [new FilterModel()]);
};
module.exports = FiltersUserSetting;
module.exports = FiltersUserSettings;
}());

View file

@ -19,7 +19,7 @@
/**
* @constructor
*/
function FoldersUserSetting()
function FoldersUserSettings()
{
this.foldersListError = Data.foldersListError;
this.folderList = Data.folderList;
@ -89,7 +89,7 @@
this.useImapSubscribe = !!Settings.settingsGet('UseImapSubscribe');
}
FoldersUserSetting.prototype.folderEditOnEnter = function (oFolder)
FoldersUserSettings.prototype.folderEditOnEnter = function (oFolder)
{
var
sEditName = oFolder ? Utils.trim(oFolder.nameForEdit()) : ''
@ -121,7 +121,7 @@
oFolder.edited(false);
};
FoldersUserSetting.prototype.folderEditOnEsc = function (oFolder)
FoldersUserSettings.prototype.folderEditOnEsc = function (oFolder)
{
if (oFolder)
{
@ -129,22 +129,22 @@
}
};
FoldersUserSetting.prototype.onShow = function ()
FoldersUserSettings.prototype.onShow = function ()
{
Data.foldersListError('');
};
FoldersUserSetting.prototype.createFolder = function ()
FoldersUserSettings.prototype.createFolder = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderCreate'));
};
FoldersUserSetting.prototype.systemFolder = function ()
FoldersUserSettings.prototype.systemFolder = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderSystem'));
};
FoldersUserSetting.prototype.deleteFolder = function (oFolderToRemove)
FoldersUserSettings.prototype.deleteFolder = function (oFolderToRemove)
{
if (oFolderToRemove && oFolderToRemove.canBeDeleted() && oFolderToRemove.deleteAccess() &&
0 === oFolderToRemove.privateMessageCountAll())
@ -193,7 +193,7 @@
}
};
FoldersUserSetting.prototype.subscribeFolder = function (oFolder)
FoldersUserSettings.prototype.subscribeFolder = function (oFolder)
{
Local.set(Enums.ClientSideKeyName.FoldersLashHash, '');
Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, true);
@ -201,7 +201,7 @@
oFolder.subScribed(true);
};
FoldersUserSetting.prototype.unSubscribeFolder = function (oFolder)
FoldersUserSettings.prototype.unSubscribeFolder = function (oFolder)
{
Local.set(Enums.ClientSideKeyName.FoldersLashHash, '');
Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, false);
@ -209,6 +209,6 @@
oFolder.subScribed(false);
};
module.exports = FoldersUserSetting;
module.exports = FoldersUserSettings;
}());

View file

@ -19,7 +19,7 @@
/**
* @constructor
*/
function GeneralUserSetting()
function GeneralUserSettings()
{
this.mainLanguage = Data.mainLanguage;
this.mainMessagesPerPage = Data.mainMessagesPerPage;
@ -74,12 +74,12 @@
}, this);
}
GeneralUserSetting.prototype.toggleLayout = function ()
GeneralUserSettings.prototype.toggleLayout = function ()
{
this.layout(Enums.Layout.NoPreview === this.layout() ? Enums.Layout.SidePreview : Enums.Layout.NoPreview);
};
GeneralUserSetting.prototype.onBuild = function ()
GeneralUserSettings.prototype.onBuild = function ()
{
var self = this;
@ -178,16 +178,16 @@
}, 50);
};
GeneralUserSetting.prototype.onShow = function ()
GeneralUserSettings.prototype.onShow = function ()
{
Data.desktopNotifications.valueHasMutated();
};
GeneralUserSetting.prototype.selectLanguage = function ()
GeneralUserSettings.prototype.selectLanguage = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'));
};
module.exports = GeneralUserSetting;
module.exports = GeneralUserSettings;
}());

View file

@ -18,7 +18,7 @@
/**
* @constructor
*/
function IdentitiesUserSetting()
function IdentitiesUserSettings()
{
this.editor = null;
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
@ -100,7 +100,7 @@
*
* @return {string}
*/
IdentitiesUserSetting.prototype.formattedAccountIdentity = function ()
IdentitiesUserSettings.prototype.formattedAccountIdentity = function ()
{
var
sDisplayName = this.displayName.peek(),
@ -110,12 +110,12 @@
return '' === sDisplayName ? sEmail : '"' + Utils.quoteName(sDisplayName) + '" <' + sEmail + '>';
};
IdentitiesUserSetting.prototype.addNewIdentity = function ()
IdentitiesUserSettings.prototype.addNewIdentity = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity'));
};
IdentitiesUserSetting.prototype.editIdentity = function (oIdentity)
IdentitiesUserSettings.prototype.editIdentity = function (oIdentity)
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity'), [oIdentity]);
};
@ -123,7 +123,7 @@
/**
* @param {IdentityModel} oIdentityToRemove
*/
IdentitiesUserSetting.prototype.deleteIdentity = function (oIdentityToRemove)
IdentitiesUserSettings.prototype.deleteIdentity = function (oIdentityToRemove)
{
if (oIdentityToRemove && oIdentityToRemove.deleteAccess())
{
@ -146,7 +146,7 @@
}
};
IdentitiesUserSetting.prototype.onFocus = function ()
IdentitiesUserSettings.prototype.onFocus = function ()
{
if (!this.editor && this.signatureDom())
{
@ -172,7 +172,7 @@
}
};
IdentitiesUserSetting.prototype.onBuild = function (oDom)
IdentitiesUserSettings.prototype.onBuild = function (oDom)
{
var self = this;
@ -228,6 +228,6 @@
}, 50);
};
module.exports = IdentitiesUserSetting;
module.exports = IdentitiesUserSettings;
}());

View file

@ -18,7 +18,7 @@
/**
* @constructor
*/
function IdentityUserSetting()
function IdentityUserSettings()
{
this.editor = null;
@ -34,7 +34,7 @@
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
}
IdentityUserSetting.prototype.onFocus = function ()
IdentityUserSettings.prototype.onFocus = function ()
{
if (!this.editor && this.signatureDom())
{
@ -60,7 +60,7 @@
}
};
IdentityUserSetting.prototype.onBuild = function ()
IdentityUserSettings.prototype.onBuild = function ()
{
var self = this;
_.delay(function () {
@ -98,6 +98,6 @@
}, 50);
};
module.exports = IdentityUserSetting;
module.exports = IdentityUserSettings;
}());

View file

@ -17,7 +17,7 @@
/**
* @constructor
*/
function OpenPgpUserSetting()
function OpenPgpUserSettings()
{
this.openpgpkeys = Data.openpgpkeys;
this.openpgpkeysPublic = Data.openpgpkeysPublic;
@ -38,17 +38,17 @@
]});
}
OpenPgpUserSetting.prototype.addOpenPgpKey = function ()
OpenPgpUserSettings.prototype.addOpenPgpKey = function ()
{
kn.showScreenPopup(require('View/Popup/AddOpenPgpKey'));
};
OpenPgpUserSetting.prototype.generateOpenPgpKey = function ()
OpenPgpUserSettings.prototype.generateOpenPgpKey = function ()
{
kn.showScreenPopup(require('View/Popup/NewOpenPgpKey'));
};
OpenPgpUserSetting.prototype.viewOpenPgpKey = function (oOpenPgpKey)
OpenPgpUserSettings.prototype.viewOpenPgpKey = function (oOpenPgpKey)
{
if (oOpenPgpKey)
{
@ -59,7 +59,7 @@
/**
* @param {OpenPgpKeyModel} oOpenPgpKeyToRemove
*/
OpenPgpUserSetting.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove)
OpenPgpUserSettings.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove)
{
if (oOpenPgpKeyToRemove && oOpenPgpKeyToRemove.deleteAccess())
{
@ -87,6 +87,6 @@
}
};
module.exports = OpenPgpUserSetting;
module.exports = OpenPgpUserSettings;
}());

View file

@ -16,7 +16,7 @@
/**
* @constructor
*/
function SecurityUserSetting()
function SecurityUserSettings()
{
this.processing = ko.observable(false);
this.clearing = ko.observable(false);
@ -46,37 +46,37 @@
this.onSecretResult = _.bind(this.onSecretResult, this);
}
SecurityUserSetting.prototype.showSecret = function ()
SecurityUserSettings.prototype.showSecret = function ()
{
this.secreting(true);
Remote.showTwoFactorSecret(this.onSecretResult);
};
SecurityUserSetting.prototype.hideSecret = function ()
SecurityUserSettings.prototype.hideSecret = function ()
{
this.viewSecret('');
this.viewBackupCodes('');
this.viewUrl('');
};
SecurityUserSetting.prototype.createTwoFactor = function ()
SecurityUserSettings.prototype.createTwoFactor = function ()
{
this.processing(true);
Remote.createTwoFactor(this.onResult);
};
SecurityUserSetting.prototype.enableTwoFactor = function ()
SecurityUserSettings.prototype.enableTwoFactor = function ()
{
this.processing(true);
Remote.enableTwoFactor(this.onResult, this.viewEnable());
};
SecurityUserSetting.prototype.testTwoFactor = function ()
SecurityUserSettings.prototype.testTwoFactor = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/TwoFactorTest'));
};
SecurityUserSetting.prototype.clearTwoFactor = function ()
SecurityUserSettings.prototype.clearTwoFactor = function ()
{
this.viewSecret('');
this.viewBackupCodes('');
@ -86,14 +86,14 @@
Remote.clearTwoFactor(this.onResult);
};
SecurityUserSetting.prototype.onShow = function ()
SecurityUserSettings.prototype.onShow = function ()
{
this.viewSecret('');
this.viewBackupCodes('');
this.viewUrl('');
};
SecurityUserSetting.prototype.onResult = function (sResult, oData)
SecurityUserSettings.prototype.onResult = function (sResult, oData)
{
this.processing(false);
this.clearing(false);
@ -139,7 +139,7 @@
}
};
SecurityUserSetting.prototype.onSecretResult = function (sResult, oData)
SecurityUserSettings.prototype.onSecretResult = function (sResult, oData)
{
this.secreting(false);
@ -155,12 +155,12 @@
}
};
SecurityUserSetting.prototype.onBuild = function ()
SecurityUserSettings.prototype.onBuild = function ()
{
this.processing(true);
Remote.getTwoFactor(this.onResult);
};
module.exports = SecurityUserSetting;
module.exports = SecurityUserSettings;
}());

View file

@ -6,7 +6,7 @@
/**
* @constructor
*/
function SocialUserSetting()
function SocialUserSettings()
{
var
Utils = require('Common/Utils'),
@ -71,6 +71,6 @@
});
}
module.exports = SocialUserSetting;
module.exports = SocialUserSettings;
}());

View file

@ -18,7 +18,7 @@
/**
* @constructor
*/
function ThemesUserSetting()
function ThemesUserSettings()
{
var self = this;
@ -45,7 +45,7 @@
}, this);
}
ThemesUserSetting.prototype.onBuild = function ()
ThemesUserSettings.prototype.onBuild = function ()
{
var sCurrentTheme = Data.theme();
this.themesObjects(_.map(Data.themes(), function (sTheme) {
@ -58,6 +58,6 @@
}));
};
module.exports = ThemesUserSetting;
module.exports = ThemesUserSettings;
}());

View file

@ -103,4 +103,13 @@
.flag-selector {
margin-bottom: 0;
}
.social-buttons {
margin-top: 5px;
}
.social-button, .language-button {
padding: 5px;
outline: none;
}
}

View file

@ -66,7 +66,7 @@
.thm-border-radius(@login-border-radius);
.thm-box-shadow(@login-box-shadow);
.legend, .checkboxSignMe, .checkboxAdditionalCodeSignMe, .g-ui-link {
.legend, .checkboxSignMe, .checkboxAdditionalCodeSignMe, .g-ui-link, .social-button, .language-button {
color: @login-color !important;
}
}

View file

@ -67,60 +67,30 @@
&nbsp;&nbsp;
<span class="i18n i18n-animation" data-i18n-text="LOGIN/LABEL_SIGN_ME"></span>
</label>
<div class="pull-right">
<div class="btn-group dropdown" data-bind="registrateBootstrapDropdown: true, visible: socialLoginEnabled() || allowLanguagesOnLogin()">
<a id="login-more-dropdown-id" href="#" tabindex="-1" class="btn dropdown-toggle buttonLoginMore" data-toggle="dropdown">
<i data-bind="css: langRequest() ? 'icon-spinner animated' : 'icon-list'"></i>
</a>
<ul class="dropdown-menu g-ui-menu" tabindex="-1" role="menu" aria-labelledby="login-more-dropdown-id">
{{INCLUDE/MenuDropdownTop/PLACE}}
<li class="e-item" role="presentation" data-bind="visible: facebookLoginEnabled">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: facebookCommand">
<i class="icon-facebook-alt"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="LOGIN/TITLE_SIGN_IN_FACEBOOK"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: googleLoginEnabled">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: googleCommand">
<i class="icon-google"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="LOGIN/TITLE_SIGN_IN_GOOGLE"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: twitterLoginEnabled">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: twitterCommand">
<i class="icon-twitter"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="LOGIN/TITLE_SIGN_IN_TWITTER"></span>
</a>
</li>
{{INCLUDE/MenuDropdownMiddle/PLACE}}
<li class="divider" role="presentation" data-bind="visible: socialLoginEnabled() && allowLanguagesOnLogin()"></li>
<li class="e-item" role="presentation" data-bind="visible: allowLanguagesOnLogin">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: selectLanguage">
<label class="flag-selector">
<span class="flag-wrapper">
<span data-bind="css: 'flag flag-' + mainLanguage()" style=""></span>
</span>
<span class="flag-name" data-bind="text: mainLanguageFullName"></span>
</label>
</a>
</li>
{{INCLUDE/MenuDropdownBottom/PLACE}}
</ul>
</div>
<div class="pull-right social-buttons">
<a href="#" tabindex="-1" class="social-button" data-bind="command: facebookCommand, visible: facebookLoginEnabled, tooltip: 'LOGIN/TITLE_SIGN_IN_FACEBOOK'">
<i class="icon-facebook-alt"></i>
</a>
<a href="#" tabindex="-1" class="social-button" data-bind="command: googleCommand, visible: googleLoginEnabled, tooltip: 'LOGIN/TITLE_SIGN_IN_GOOGLE'">
<i class="icon-google"></i>
</a>
<a href="#" tabindex="-1" class="social-button" data-bind="command: twitterCommand, visible: twitterLoginEnabled, tooltip: 'LOGIN/TITLE_SIGN_IN_TWITTER'">
<i class="icon-twitter"></i>
</a>
<a href="#" tabindex="-1" class="language-button" data-bind="click: selectLanguage, tooltip: 'POPUPS_LANGUAGES/TITLE_LANGUAGES',
visible: allowLanguagesOnLogin() && !socialLoginEnabled()">
<i class="icon-world"></i>
</a>
</div>
</div>
</form>
<div class="e-powered thm-powered" data-bind="visible: logoPowered">
Powered by <a href="http://rainloop.net" target="_blank">RainLoop</a>
</div>
<div class="e-languages thm-languages" data-bind="visible: allowLanguagesOnLogin">
<div class="e-languages thm-languages" data-bind="visible: allowLanguagesOnLogin() && socialLoginEnabled()">
<label class="flag-selector">
<span class="flag-wrapper">
<span data-bind="css: 'flag flag-' + mainLanguage()" style=""></span>
</span>
<i class="icon-world"></i>
&nbsp;
<span class="flag-name" data-bind="text: mainLanguageFullName, click: selectLanguage"></span>
</label>
</div>

View file

@ -229,7 +229,7 @@ DESC_WANT_CLOSE_THIS_WINDOW = "Are you sure you want to close this window?"
DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?"
[POPUPS_LANGUAGES]
TITLE_LANGUAGES = "Choose language"
TITLE_LANGUAGES = "Choose your language"
[POPUPS_ADD_ACCOUNT]
TITLE_ADD_ACCOUNT = "Add Account?"

View file

@ -228,7 +228,7 @@ DESC_WANT_CLOSE_THIS_WINDOW = "Are you sure you want to close this window?"
DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?"
[POPUPS_LANGUAGES]
TITLE_LANGUAGES = "Choose language"
TITLE_LANGUAGES = "Choose your language"
[POPUPS_ADD_ACCOUNT]
TITLE_ADD_ACCOUNT = "Bæta við aðgangi?"

View file

@ -228,7 +228,7 @@ DESC_WANT_CLOSE_THIS_WINDOW = "Are you sure you want to close this window?"
DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?"
[POPUPS_LANGUAGES]
TITLE_LANGUAGES = "Choose language"
TITLE_LANGUAGES = "Choose your language"
[POPUPS_ADD_ACCOUNT]
TITLE_ADD_ACCOUNT = "Pievienot kontu?"

View file

@ -117,4 +117,5 @@
<glyph unicode="&#57451;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m0-399c-94 0-171 77-171 171 0 94 77 171 171 171 94 0 171-77 171-171 0-94-77-171-171-171z m58 173c-10-9-27-16-31-18-4-2-4-4-4-10l0-8-57 0 0 18c0 14 1 22 16 30l20 10c7 5 16 8 16 15 0 8-7 11-24 11-16 0-33-6-45-14l-15 50c8 4 30 18 72 18 42 0 72-26 72-57 0-26-9-36-20-45z m-64-111c-22 0-37 12-37 32 0 21 15 33 37 33 22 0 37-12 37-33 0-20-15-32-37-32z"/>
<glyph unicode="&#57452;" d="M411 475l-88-88-65 65 0-194 194 0-65 65 88 88z m-351-221l65-65-88-88 64-64 88 88 65-65 0 194z"/>
<glyph unicode="&#57453;" d="M282 475l65-64-89-89 64-64 89 89 64-65 0 193z m-92-221l-89-89-64 65 0-193 193 0-65 64 89 89z"/>
<glyph unicode="&#57455;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m-185-228c0 39 12 75 33 105 3 1 7 2 9 1 3-2 2-3 2-7 1-6 2-13 10-9 7 4 5 15 9 21 3 4 7 9 10 12 5 4 9 6 9 12 1 7-5 9-11 10 8 7 16 12 26 17 2-1 5-5 4-9-2-3-10-3-8-10 10-5 33 18 32-4-9-3-30-6-31-18-1-12 20-9 27-8 9 1 16 3 23 9 9 6 23 18 25 28 4 18-23 9-29 17-2 3-2 7-1 11 0 0 0 0 0 1 15 4 30 6 46 6 22 0 43-4 62-11-8-13-3-36-3-50 0-8-4-8-9-13-5-6-10-10-17-9-16 3-31 10-45-3-5-5-10-9-10-17 0-5-2-13 4-15 3-2 12-2 15 1 4 3 4 10 6 15 3 6 11 9 15 3 3-6 1-12-2-17-5-7-8-10-16-13-2-1-4-3-7-2-3 1-4 4-6 5-6 2-12-4-15-7-4-4-9-6-15-7-4-1-13 1-10-7 1-5 7-5 6-13-7 0-17 2-21-3-2-3-7-18-5-21 2-4 12-3 16-3 6-1 12 0 13 7 4 2 5 6 8 8 3 2 6 3 10 3 12 2 13-5 18-13 4-6 10-11 10-1-1 8-8 12-7 21 7 2 9-7 11-12 2-4 3-7 6-10 1-2 3-4 5-6 2 6 6 10 8 15 2 5 5 10 9 14 7 7 36 7 25-5-5-4-36-11-26-20 4-5 14 0 19-3 5-2 2-9 2-14 0-1 0-2 0-3-13-7-36-3-48-2-9 0-15 4-22 9-7 5-11 6-20 7-22 1-39-3-56-17-16-13-23-29-19-50 6-35 45-29 72-31 11-1 13-2 17-12 3-9 6-17 8-26 2-8 2-17 3-25 1-8 2-13 6-17-100 3-180 85-180 185z m242-176c7 4 11 8 18 13 3 2 6 2 8 6 2 5-1 8-3 13-4 10 4 14 10 21 7 6 12 15 16 23 4 6 10 20 10 26-8 0-17-4-26-3-11 2-19 9-25 16-7 7-11 16-10 26 0 4 0 5 3 6 5-6 14-9 19-16 4-5 6-9 11-13 3-2 5-6 8-9 4-4 13-1 17 3 6 5 5 11 7 17 1 5 4 7 6 12 1 5 0 11 0 15-5 1-8 0-12-2-3-2-3-5-8-5-7 0-11 8-12 15 6 3 15 2 22 2 7 0 13 1 19 4 11 5 19 0 28-6 5-4 12-14 16-8 4 5 2 16 2 22 0 3 1 6 1 10 1 2 1 4 2 5 1-5 1-11 1-17 0-82-54-152-128-176z"/>
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

View file

@ -117,4 +117,5 @@
<glyph unicode="&#57451;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m0-399c-94 0-171 77-171 171 0 94 77 171 171 171 94 0 171-77 171-171 0-94-77-171-171-171z m58 173c-10-9-27-16-31-18-4-2-4-4-4-10l0-8-57 0 0 18c0 14 1 22 16 30l20 10c7 5 16 8 16 15 0 8-7 11-24 11-16 0-33-6-45-14l-15 50c8 4 30 18 72 18 42 0 72-26 72-57 0-26-9-36-20-45z m-64-111c-22 0-37 12-37 32 0 21 15 33 37 33 22 0 37-12 37-33 0-20-15-32-37-32z"/>
<glyph unicode="&#57452;" d="M411 475l-88-88-65 65 0-194 194 0-65 65 88 88z m-351-221l65-65-88-88 64-64 88 88 65-65 0 194z"/>
<glyph unicode="&#57453;" d="M282 475l65-64-89-89 64-64 89 89 64-65 0 193z m-92-221l-89-89-64 65 0-193 193 0-65 64 89 89z"/>
<glyph unicode="&#57455;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m-185-228c0 39 12 75 33 105 3 1 7 2 9 1 3-2 2-3 2-7 1-6 2-13 10-9 7 4 5 15 9 21 3 4 7 9 10 12 5 4 9 6 9 12 1 7-5 9-11 10 8 7 16 12 26 17 2-1 5-5 4-9-2-3-10-3-8-10 10-5 33 18 32-4-9-3-30-6-31-18-1-12 20-9 27-8 9 1 16 3 23 9 9 6 23 18 25 28 4 18-23 9-29 17-2 3-2 7-1 11 0 0 0 0 0 1 15 4 30 6 46 6 22 0 43-4 62-11-8-13-3-36-3-50 0-8-4-8-9-13-5-6-10-10-17-9-16 3-31 10-45-3-5-5-10-9-10-17 0-5-2-13 4-15 3-2 12-2 15 1 4 3 4 10 6 15 3 6 11 9 15 3 3-6 1-12-2-17-5-7-8-10-16-13-2-1-4-3-7-2-3 1-4 4-6 5-6 2-12-4-15-7-4-4-9-6-15-7-4-1-13 1-10-7 1-5 7-5 6-13-7 0-17 2-21-3-2-3-7-18-5-21 2-4 12-3 16-3 6-1 12 0 13 7 4 2 5 6 8 8 3 2 6 3 10 3 12 2 13-5 18-13 4-6 10-11 10-1-1 8-8 12-7 21 7 2 9-7 11-12 2-4 3-7 6-10 1-2 3-4 5-6 2 6 6 10 8 15 2 5 5 10 9 14 7 7 36 7 25-5-5-4-36-11-26-20 4-5 14 0 19-3 5-2 2-9 2-14 0-1 0-2 0-3-13-7-36-3-48-2-9 0-15 4-22 9-7 5-11 6-20 7-22 1-39-3-56-17-16-13-23-29-19-50 6-35 45-29 72-31 11-1 13-2 17-12 3-9 6-17 8-26 2-8 2-17 3-25 1-8 2-13 6-17-100 3-180 85-180 185z m242-176c7 4 11 8 18 13 3 2 6 2 8 6 2 5-1 8-3 13-4 10 4 14 10 21 7 6 12 15 16 23 4 6 10 20 10 26-8 0-17-4-26-3-11 2-19 9-25 16-7 7-11 16-10 26 0 4 0 5 3 6 5-6 14-9 19-16 4-5 6-9 11-13 3-2 5-6 8-9 4-4 13-1 17 3 6 5 5 11 7 17 1 5 4 7 6 12 1 5 0 11 0 15-5 1-8 0-12-2-3-2-3-5-8-5-7 0-11 8-12 15 6 3 15 2 22 2 7 0 13 1 19 4 11 5 19 0 28-6 5-4 12-14 16-8 4 5 2 16 2 22 0 3 1 6 1 10 1 2 1 4 2 5 1-5 1-11 1-17 0-82-54-152-128-176z"/>
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Binary file not shown.

View file

@ -43,449 +43,6 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
<div class="container">
<h1>RainLoop</h1>
<p class="small">This font was created with<a href="http://fontastic.me/">Fontastic</a></p>
<h2>Character mapping</h2>
<ul class="glyphs character-mapping">
<li>
<div data-icon="&#xe000;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe000;">
</li>
<li>
<div data-icon="&#xe001;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe001;">
</li>
<li>
<div data-icon="&#xe002;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe002;">
</li>
<li>
<div data-icon="&#xe003;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe003;">
</li>
<li>
<div data-icon="&#xe004;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe004;">
</li>
<li>
<div data-icon="&#xe005;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe005;">
</li>
<li>
<div data-icon="&#xe006;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe006;">
</li>
<li>
<div data-icon="&#xe007;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe007;">
</li>
<li>
<div data-icon="&#xe008;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe008;">
</li>
<li>
<div data-icon="&#xe009;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe009;">
</li>
<li>
<div data-icon="&#xe00a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00a;">
</li>
<li>
<div data-icon="&#xe00b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00b;">
</li>
<li>
<div data-icon="&#xe00c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00c;">
</li>
<li>
<div data-icon="&#xe00d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00d;">
</li>
<li>
<div data-icon="&#xe00e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00e;">
</li>
<li>
<div data-icon="&#xe00f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00f;">
</li>
<li>
<div data-icon="&#xe010;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe010;">
</li>
<li>
<div data-icon="&#xe011;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe011;">
</li>
<li>
<div data-icon="&#xe012;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe012;">
</li>
<li>
<div data-icon="&#xe013;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe013;">
</li>
<li>
<div data-icon="&#xe014;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe014;">
</li>
<li>
<div data-icon="&#xe015;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe015;">
</li>
<li>
<div data-icon="&#xe016;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe016;">
</li>
<li>
<div data-icon="&#xe017;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe017;">
</li>
<li>
<div data-icon="&#xe018;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe018;">
</li>
<li>
<div data-icon="&#xe019;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe019;">
</li>
<li>
<div data-icon="&#xe01a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01a;">
</li>
<li>
<div data-icon="&#xe01b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01b;">
</li>
<li>
<div data-icon="&#xe01c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01c;">
</li>
<li>
<div data-icon="&#xe01d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01d;">
</li>
<li>
<div data-icon="&#xe01e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01e;">
</li>
<li>
<div data-icon="&#xe01f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01f;">
</li>
<li>
<div data-icon="&#xe020;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe020;">
</li>
<li>
<div data-icon="&#xe021;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe021;">
</li>
<li>
<div data-icon="&#xe022;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe022;">
</li>
<li>
<div data-icon="&#xe023;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe023;">
</li>
<li>
<div data-icon="&#xe024;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe024;">
</li>
<li>
<div data-icon="&#xe025;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe025;">
</li>
<li>
<div data-icon="&#xe026;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe026;">
</li>
<li>
<div data-icon="&#xe027;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe027;">
</li>
<li>
<div data-icon="&#xe028;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe028;">
</li>
<li>
<div data-icon="&#xe029;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe029;">
</li>
<li>
<div data-icon="&#xe02a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02a;">
</li>
<li>
<div data-icon="&#xe02b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02b;">
</li>
<li>
<div data-icon="&#xe02c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02c;">
</li>
<li>
<div data-icon="&#xe02d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02d;">
</li>
<li>
<div data-icon="&#xe02e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02e;">
</li>
<li>
<div data-icon="&#xe02f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02f;">
</li>
<li>
<div data-icon="&#xe030;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe030;">
</li>
<li>
<div data-icon="&#xe031;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe031;">
</li>
<li>
<div data-icon="&#xe032;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe032;">
</li>
<li>
<div data-icon="&#xe033;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe033;">
</li>
<li>
<div data-icon="&#xe034;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe034;">
</li>
<li>
<div data-icon="&#xe035;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe035;">
</li>
<li>
<div data-icon="&#xe036;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe036;">
</li>
<li>
<div data-icon="&#xe037;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe037;">
</li>
<li>
<div data-icon="&#xe038;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe038;">
</li>
<li>
<div data-icon="&#xe039;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe039;">
</li>
<li>
<div data-icon="&#xe03a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03a;">
</li>
<li>
<div data-icon="&#xe03b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03b;">
</li>
<li>
<div data-icon="&#xe03c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03c;">
</li>
<li>
<div data-icon="&#xe03d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03d;">
</li>
<li>
<div data-icon="&#xe03e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03e;">
</li>
<li>
<div data-icon="&#xe03f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03f;">
</li>
<li>
<div data-icon="&#xe040;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe040;">
</li>
<li>
<div data-icon="&#xe041;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe041;">
</li>
<li>
<div data-icon="&#xe042;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe042;">
</li>
<li>
<div data-icon="&#xe043;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe043;">
</li>
<li>
<div data-icon="&#xe044;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe044;">
</li>
<li>
<div data-icon="&#xe045;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe045;">
</li>
<li>
<div data-icon="&#xe046;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe046;">
</li>
<li>
<div data-icon="&#xe047;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe047;">
</li>
<li>
<div data-icon="&#xe048;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe048;">
</li>
<li>
<div data-icon="&#xe049;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe049;">
</li>
<li>
<div data-icon="&#xe04a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04a;">
</li>
<li>
<div data-icon="&#xe04b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04b;">
</li>
<li>
<div data-icon="&#xe04c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04c;">
</li>
<li>
<div data-icon="&#xe04d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04d;">
</li>
<li>
<div data-icon="&#xe04e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04e;">
</li>
<li>
<div data-icon="&#xe04f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04f;">
</li>
<li>
<div data-icon="&#xe050;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe050;">
</li>
<li>
<div data-icon="&#xe051;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe051;">
</li>
<li>
<div data-icon="&#xe052;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe052;">
</li>
<li>
<div data-icon="&#xe053;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe053;">
</li>
<li>
<div data-icon="&#xe054;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe054;">
</li>
<li>
<div data-icon="&#xe055;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe055;">
</li>
<li>
<div data-icon="&#xe056;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe056;">
</li>
<li>
<div data-icon="&#xe057;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe057;">
</li>
<li>
<div data-icon="&#xe058;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe058;">
</li>
<li>
<div data-icon="&#xe059;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe059;">
</li>
<li>
<div data-icon="&#xe05a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05a;">
</li>
<li>
<div data-icon="&#xe05b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05b;">
</li>
<li>
<div data-icon="&#xe05c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05c;">
</li>
<li>
<div data-icon="&#xe05d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05d;">
</li>
<li>
<div data-icon="&#xe05e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05e;">
</li>
<li>
<div data-icon="&#xe05f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05f;">
</li>
<li>
<div data-icon="&#xe060;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe060;">
</li>
<li>
<div data-icon="&#xe061;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe061;">
</li>
<li>
<div data-icon="&#xe062;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe062;">
</li>
<li>
<div data-icon="&#xe063;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe063;">
</li>
<li>
<div data-icon="&#xe064;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe064;">
</li>
<li>
<div data-icon="&#xe065;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe065;">
</li>
<li>
<div data-icon="&#xe066;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe066;">
</li>
<li>
<div data-icon="&#xe067;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe067;">
</li>
<li>
<div data-icon="&#xe068;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe068;">
</li>
<li>
<div data-icon="&#xe069;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe069;">
</li>
<li>
<div data-icon="&#xe06a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06a;">
</li>
<li>
<div data-icon="&#xe06b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06b;">
</li>
<li>
<div data-icon="&#xe06c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06c;">
</li>
<li>
<div data-icon="&#xe06d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06d;">
</li>
</ul>
<h2>CSS mapping</h2>
<ul class="glyphs css-mapping">
<li>
@ -928,6 +485,457 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
<div class="icon icon-resize-out"></div>
<input type="text" readonly="readonly" value="resize-out">
</li>
<li>
<div class="icon icon-world"></div>
<input type="text" readonly="readonly" value="world">
</li>
</ul>
<h2>Character mapping</h2>
<ul class="glyphs character-mapping">
<li>
<div data-icon="&#xe000;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe000;">
</li>
<li>
<div data-icon="&#xe001;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe001;">
</li>
<li>
<div data-icon="&#xe002;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe002;">
</li>
<li>
<div data-icon="&#xe003;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe003;">
</li>
<li>
<div data-icon="&#xe004;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe004;">
</li>
<li>
<div data-icon="&#xe005;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe005;">
</li>
<li>
<div data-icon="&#xe006;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe006;">
</li>
<li>
<div data-icon="&#xe007;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe007;">
</li>
<li>
<div data-icon="&#xe008;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe008;">
</li>
<li>
<div data-icon="&#xe009;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe009;">
</li>
<li>
<div data-icon="&#xe00a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00a;">
</li>
<li>
<div data-icon="&#xe00b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00b;">
</li>
<li>
<div data-icon="&#xe00c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00c;">
</li>
<li>
<div data-icon="&#xe00d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00d;">
</li>
<li>
<div data-icon="&#xe00e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00e;">
</li>
<li>
<div data-icon="&#xe00f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00f;">
</li>
<li>
<div data-icon="&#xe010;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe010;">
</li>
<li>
<div data-icon="&#xe011;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe011;">
</li>
<li>
<div data-icon="&#xe012;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe012;">
</li>
<li>
<div data-icon="&#xe013;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe013;">
</li>
<li>
<div data-icon="&#xe014;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe014;">
</li>
<li>
<div data-icon="&#xe015;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe015;">
</li>
<li>
<div data-icon="&#xe016;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe016;">
</li>
<li>
<div data-icon="&#xe017;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe017;">
</li>
<li>
<div data-icon="&#xe018;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe018;">
</li>
<li>
<div data-icon="&#xe019;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe019;">
</li>
<li>
<div data-icon="&#xe01a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01a;">
</li>
<li>
<div data-icon="&#xe01b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01b;">
</li>
<li>
<div data-icon="&#xe01c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01c;">
</li>
<li>
<div data-icon="&#xe01d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01d;">
</li>
<li>
<div data-icon="&#xe01e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01e;">
</li>
<li>
<div data-icon="&#xe01f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01f;">
</li>
<li>
<div data-icon="&#xe020;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe020;">
</li>
<li>
<div data-icon="&#xe021;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe021;">
</li>
<li>
<div data-icon="&#xe022;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe022;">
</li>
<li>
<div data-icon="&#xe023;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe023;">
</li>
<li>
<div data-icon="&#xe024;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe024;">
</li>
<li>
<div data-icon="&#xe025;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe025;">
</li>
<li>
<div data-icon="&#xe026;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe026;">
</li>
<li>
<div data-icon="&#xe027;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe027;">
</li>
<li>
<div data-icon="&#xe028;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe028;">
</li>
<li>
<div data-icon="&#xe029;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe029;">
</li>
<li>
<div data-icon="&#xe02a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02a;">
</li>
<li>
<div data-icon="&#xe02b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02b;">
</li>
<li>
<div data-icon="&#xe02c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02c;">
</li>
<li>
<div data-icon="&#xe02d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02d;">
</li>
<li>
<div data-icon="&#xe02e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02e;">
</li>
<li>
<div data-icon="&#xe02f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02f;">
</li>
<li>
<div data-icon="&#xe030;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe030;">
</li>
<li>
<div data-icon="&#xe031;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe031;">
</li>
<li>
<div data-icon="&#xe032;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe032;">
</li>
<li>
<div data-icon="&#xe033;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe033;">
</li>
<li>
<div data-icon="&#xe034;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe034;">
</li>
<li>
<div data-icon="&#xe035;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe035;">
</li>
<li>
<div data-icon="&#xe036;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe036;">
</li>
<li>
<div data-icon="&#xe037;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe037;">
</li>
<li>
<div data-icon="&#xe038;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe038;">
</li>
<li>
<div data-icon="&#xe039;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe039;">
</li>
<li>
<div data-icon="&#xe03a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03a;">
</li>
<li>
<div data-icon="&#xe03b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03b;">
</li>
<li>
<div data-icon="&#xe03c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03c;">
</li>
<li>
<div data-icon="&#xe03d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03d;">
</li>
<li>
<div data-icon="&#xe03e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03e;">
</li>
<li>
<div data-icon="&#xe03f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03f;">
</li>
<li>
<div data-icon="&#xe040;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe040;">
</li>
<li>
<div data-icon="&#xe041;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe041;">
</li>
<li>
<div data-icon="&#xe042;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe042;">
</li>
<li>
<div data-icon="&#xe043;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe043;">
</li>
<li>
<div data-icon="&#xe044;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe044;">
</li>
<li>
<div data-icon="&#xe045;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe045;">
</li>
<li>
<div data-icon="&#xe046;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe046;">
</li>
<li>
<div data-icon="&#xe047;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe047;">
</li>
<li>
<div data-icon="&#xe048;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe048;">
</li>
<li>
<div data-icon="&#xe049;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe049;">
</li>
<li>
<div data-icon="&#xe04a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04a;">
</li>
<li>
<div data-icon="&#xe04b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04b;">
</li>
<li>
<div data-icon="&#xe04c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04c;">
</li>
<li>
<div data-icon="&#xe04d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04d;">
</li>
<li>
<div data-icon="&#xe04e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04e;">
</li>
<li>
<div data-icon="&#xe04f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04f;">
</li>
<li>
<div data-icon="&#xe050;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe050;">
</li>
<li>
<div data-icon="&#xe051;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe051;">
</li>
<li>
<div data-icon="&#xe052;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe052;">
</li>
<li>
<div data-icon="&#xe053;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe053;">
</li>
<li>
<div data-icon="&#xe054;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe054;">
</li>
<li>
<div data-icon="&#xe055;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe055;">
</li>
<li>
<div data-icon="&#xe056;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe056;">
</li>
<li>
<div data-icon="&#xe057;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe057;">
</li>
<li>
<div data-icon="&#xe058;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe058;">
</li>
<li>
<div data-icon="&#xe059;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe059;">
</li>
<li>
<div data-icon="&#xe05a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05a;">
</li>
<li>
<div data-icon="&#xe05b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05b;">
</li>
<li>
<div data-icon="&#xe05c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05c;">
</li>
<li>
<div data-icon="&#xe05d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05d;">
</li>
<li>
<div data-icon="&#xe05e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05e;">
</li>
<li>
<div data-icon="&#xe05f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05f;">
</li>
<li>
<div data-icon="&#xe060;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe060;">
</li>
<li>
<div data-icon="&#xe061;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe061;">
</li>
<li>
<div data-icon="&#xe062;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe062;">
</li>
<li>
<div data-icon="&#xe063;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe063;">
</li>
<li>
<div data-icon="&#xe064;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe064;">
</li>
<li>
<div data-icon="&#xe065;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe065;">
</li>
<li>
<div data-icon="&#xe066;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe066;">
</li>
<li>
<div data-icon="&#xe067;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe067;">
</li>
<li>
<div data-icon="&#xe068;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe068;">
</li>
<li>
<div data-icon="&#xe069;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe069;">
</li>
<li>
<div data-icon="&#xe06a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06a;">
</li>
<li>
<div data-icon="&#xe06b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06b;">
</li>
<li>
<div data-icon="&#xe06c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06c;">
</li>
<li>
<div data-icon="&#xe06d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06d;">
</li>
<li>
<div data-icon="&#xe06f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06f;">
</li>
</ul>
</div><script type="text/javascript">
(function() {

View file

@ -368,3 +368,6 @@
.icon-resize-out:before {
content: "\e06d";
}
.icon-world:before {
content: "\e06f";
}