admin magic box: v0.1
This commit is contained in:
@@ -16,6 +16,16 @@
|
||||
<input type="hidden" id="new_auth_token" name="new_auth_token" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="options_box round hide" id="admin">
|
||||
<h2><i class="fa fa-c-changelog fa-inline"></i>Boite magique</h2>
|
||||
<div id="add_user" class="magic_box tiny_round">
|
||||
<h3><i class="fa fa-inline fa-c-profile"></i>Ajouter un user</h3>
|
||||
<p><input type="text" class="tiny_round" id="first_name" name="first_name" /></p>
|
||||
<p><input type="text" class="tiny_round" id="last_name" name="last_name" /></p>
|
||||
<p><input type="text" class="tiny_round" id="email" name="email" /></p>
|
||||
<p id="companies"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
@@ -32,17 +42,20 @@ databap.pageInit = function()
|
||||
databap.getInfo
|
||||
(
|
||||
'get_options',
|
||||
function(options)
|
||||
function(oData)
|
||||
{
|
||||
//remove default text
|
||||
$('#options_input').find('.loading').hide().remove();
|
||||
|
||||
//Display options form
|
||||
$.each(options, addOption);
|
||||
$.each(oData.options, addOption);
|
||||
|
||||
//Submit button
|
||||
$('#options_form').addButton('ok', 'Valider', validate_options, 'validate_options', 'heavy inverse');
|
||||
|
||||
//Admin panel
|
||||
if(!$.isEmptyObject(oData.admin)) initAdminPanel(oData.admin);
|
||||
|
||||
//Init's end
|
||||
databap.setInitEnd(true);
|
||||
},
|
||||
@@ -58,6 +71,38 @@ databap.onResize = function()
|
||||
self.setScrollBarSize('maximize');
|
||||
};
|
||||
|
||||
function initAdminPanel(asAdmin)
|
||||
{
|
||||
//Add user
|
||||
$('#first_name').addDefaultValue('Prénom');
|
||||
$('#last_name').addDefaultValue('Nom');
|
||||
addSelect($('#companies'), asAdmin.companies);
|
||||
$('#email').addDefaultValue('Email');
|
||||
$('#add_user').addButton('ok', 'Créer', function(){}, 'submit_new_user', 'heavy inverse');
|
||||
|
||||
//Show panel
|
||||
$('#admin').show();
|
||||
}
|
||||
|
||||
function addSelect($Box, asOptions, sSelectedValue, sSelectId, sSelectClass)
|
||||
{
|
||||
sSelectedValue = sSelectedValue || 0;
|
||||
sSelectId = sSelectId || '';
|
||||
sSelectClass = sSelectClass || '';
|
||||
var $Select = $('<select>', {id:sSelectId, name:sSelectId, 'class':sSelectClass}).appendTo($Box);
|
||||
$.each
|
||||
(
|
||||
asOptions,
|
||||
function(selectId, selectName)
|
||||
{
|
||||
$Select
|
||||
.append($('<option>', {value:selectId})
|
||||
.prop('selected', (selectId==sSelectedValue))
|
||||
.text(selectName));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function addOption(iArrayId, optInfo, $Box)
|
||||
{
|
||||
var optNameId = optInfo.option_id;
|
||||
@@ -73,49 +118,27 @@ function addOption(iArrayId, optInfo, $Box)
|
||||
$Option.append($('<input>', {type:'password', id:optNameId, name:optNameId, value:optInfo.user_value, 'class':'round'}));
|
||||
break;
|
||||
case databap.consts.opt_type_checkbox:
|
||||
var $Select = $('<select>', {id:optNameId, name:optNameId, 'class':'hide'}).appendTo($Option);
|
||||
$.each
|
||||
(
|
||||
optInfo.select,
|
||||
function(selectId, selectName)
|
||||
{
|
||||
$Select
|
||||
.append($('<option>', {value:selectId})
|
||||
.prop('selected', (selectId==optInfo.user_value_id))
|
||||
.text(selectName));
|
||||
}
|
||||
);
|
||||
addSelect($Option, optInfo.select, optInfo.user_value_id, optNameId, 'hide');
|
||||
$Option.append(
|
||||
$('<span>', {'class':'checkbox clickable'})
|
||||
.data('option_id', optNameId)
|
||||
.data('on', optInfo.user_value)
|
||||
.data('options', optInfo.select_inv)
|
||||
.append($('<i>', {'class':'fa fa-c-'+(optInfo.user_value=="1"?'on':'off')}))
|
||||
.append($('<i>', {'class':'fa fa-c-'+optInfo.user_value}))
|
||||
.click(function()
|
||||
{
|
||||
$This = $(this);
|
||||
var sNewValue = !$This.data('on');
|
||||
var sNewValue = ($This.data('on')=='1')?'0':'1';
|
||||
$This.data('on', sNewValue);
|
||||
$('#'+$This.data('option_id')).val($This.data('options')[sNewValue?1:0]);
|
||||
$('#'+$This.data('option_id')).val($This.data('options')[sNewValue]);
|
||||
$This.find('.fa')
|
||||
.removeClass('fa-c-on fa-c-off')
|
||||
.addClass('fa-c-'+(sNewValue?'on':'off'));
|
||||
.removeClass('fa-c-0 fa-c-1')
|
||||
.addClass('fa-c-'+sNewValue);
|
||||
})
|
||||
);
|
||||
break;
|
||||
case databap.consts.opt_type_select:
|
||||
var $Select = $('<select>', {id:optNameId, name:optNameId, 'class':'round'}).appendTo($Option);
|
||||
$.each
|
||||
(
|
||||
optInfo.select,
|
||||
function(selectId, selectName)
|
||||
{
|
||||
$Select
|
||||
.append($('<option>', {value:selectId})
|
||||
.prop('selected', (selectId==optInfo.user_value_id))
|
||||
.text(selectName));
|
||||
}
|
||||
);
|
||||
addSelect($Option, optInfo.select, optInfo.user_value_id, optNameId, 'round');
|
||||
break;
|
||||
}
|
||||
$Option.appendTo($Box).slideDown('fast');
|
||||
|
||||
Reference in New Issue
Block a user