Page form with front end style
This commit is contained in:
parent
2f41828abd
commit
42d0afe65c
|
@ -200,6 +200,7 @@ function pageSetting(id, edit) {
|
||||||
});
|
});
|
||||||
$pageTagsGroup.show();
|
$pageTagsGroup.show();
|
||||||
}
|
}
|
||||||
|
getView(_selectData.module.main, id);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
_selectData.module.public ? $pagePublishedTrue.prop('checked', true) : $pagePublishedTrue.prop('checked', false);
|
_selectData.module.public ? $pagePublishedTrue.prop('checked', true) : $pagePublishedTrue.prop('checked', false);
|
||||||
|
@ -209,8 +210,8 @@ function pageSetting(id, edit) {
|
||||||
$('#pageslide .active-link.' + val[0]).find('input[type="radio"]').eq(val[2]).prop('checked', true);
|
$('#pageslide .active-link.' + val[0]).find('input[type="radio"]').eq(val[2]).prop('checked', true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
changeSetting(id, _status);
|
|
||||||
$('#pageslide').find('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true });
|
$('#pageslide').find('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true });
|
||||||
|
$pagePublishedTrue.prop('checked') ? $('.link-options').slideDown(300) : $('.link-options').slideUp(300);
|
||||||
})
|
})
|
||||||
.fail(function(jqXHR, textStatus) {
|
.fail(function(jqXHR, textStatus) {
|
||||||
console.log(jqXHR.status, textStatus)
|
console.log(jqXHR.status, textStatus)
|
||||||
|
@ -230,7 +231,6 @@ function pageSetting(id, edit) {
|
||||||
$.each(_pageData.module, function(index, val) {
|
$.each(_pageData.module, function(index, val) {
|
||||||
$pageModule.append('<option value="' + val.main[1] + '">' + val.main[0] + '</option>');
|
$pageModule.append('<option value="' + val.main[1] + '">' + val.main[0] + '</option>');
|
||||||
});
|
});
|
||||||
changeSetting(id, _status);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -265,23 +265,19 @@ function linkSetting(id, edit) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function changeSetting(id, edit) {
|
|
||||||
edit ? getView(id) : '';
|
|
||||||
$pagePublishedTrue.prop('checked') ? $('.link-options').slideDown(300) : $('.link-options').slideUp(300);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPageData() {
|
function getPageData() {
|
||||||
$.getJSON("<%= Rails.application.routes.url_helpers.get_page_design_module_json_admin_items_path %>").done(function(data) {
|
$.getJSON("<%= Rails.application.routes.url_helpers.get_page_design_module_json_admin_items_path %>").done(function(data) {
|
||||||
_pageData = data;
|
_pageData = data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function getView(id) {
|
function getView(module_id, id) {
|
||||||
var _data = {};
|
var _data = {};
|
||||||
_data.val = $('#pageslide #page_app_frontend_url option:selected').val();
|
_data.val = $('#pageslide #page_app_frontend_url option:selected').val();
|
||||||
_data.id = id;
|
_data.id = id;
|
||||||
|
_data.module_id = module_id
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "<%#= Rails.application.routes.url_helpers.get_display_style_admin_pages_path %>",
|
url: "<%= Rails.application.routes.url_helpers.get_display_style_admin_pages_path %>",
|
||||||
dataType: "html",
|
dataType: "script",
|
||||||
data: _data,
|
data: _data,
|
||||||
contentType: "application/html; charset=utf-8",
|
contentType: "application/html; charset=utf-8",
|
||||||
cache: false,
|
cache: false,
|
||||||
|
@ -370,6 +366,7 @@ $(function() {
|
||||||
_select = _boolean ? _selectData.module : null;
|
_select = _boolean ? _selectData.module : null;
|
||||||
_subData = 'module';
|
_subData = 'module';
|
||||||
$subSelete = $('#pageslide #page_app_frontend_url');
|
$subSelete = $('#pageslide #page_app_frontend_url');
|
||||||
|
$pageDivF2E.show();
|
||||||
};
|
};
|
||||||
$(this).children("option:selected").each(function () {
|
$(this).children("option:selected").each(function () {
|
||||||
var _val = $(this).val();
|
var _val = $(this).val();
|
||||||
|
@ -377,10 +374,10 @@ $(function() {
|
||||||
if(_val) {
|
if(_val) {
|
||||||
$.each(_data, function(index, val) {
|
$.each(_data, function(index, val) {
|
||||||
if(_val == val.main[1]) {
|
if(_val == val.main[1]) {
|
||||||
$pageDivF2E.show();
|
getView(val.main[1]);
|
||||||
$.each(val.sub, function(index, val) {
|
$.each(val.sub, function(index, val) {
|
||||||
var _selected = _select && $(this)[1] == _select.sub ? 'selected="selected"' : '';
|
var _selected = _select && $(this)[1] == _select.sub ? 'selected="selected"' : '';
|
||||||
$subSelete.append('<option value="' + $(this)[1] + '" ' + _selected + '>' + $(this)[0] + '</option>');
|
$subSelete.append('<option value="' + $(this)[1] + '" ' + _selected.sub + '>' + $(this)[0] + '</option>');
|
||||||
});
|
});
|
||||||
$.each(val.count, function(index, val) {
|
$.each(val.count, function(index, val) {
|
||||||
$pageCount.append('<option value="' + val + '" ' + (_select && _select.main == _val && val == _selectData.module.count ? 'selected="selected"' : '') + '>' + val+ '</option>');
|
$pageCount.append('<option value="' + val + '" ' + (_select && _select.main == _val && val == _selectData.module.count ? 'selected="selected"' : '') + '>' + val+ '</option>');
|
||||||
|
@ -435,9 +432,9 @@ $(function() {
|
||||||
$pageDivCount.hide();
|
$pageDivCount.hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
}
|
||||||
getView(_ID);
|
else {
|
||||||
return false;
|
getView($pageModule.val());
|
||||||
}
|
}
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,6 +2,4 @@
|
||||||
//= require jquery.ui.sortable
|
//= require jquery.ui.sortable
|
||||||
//= require lib/jquery.ui.touch-punch.min.js
|
//= require lib/jquery.ui.touch-punch.min.js
|
||||||
//= require lib/jquery.mjs.nestedSortable.js
|
//= require lib/jquery.mjs.nestedSortable.js
|
||||||
//= require lib/items/update_cates_and_tags
|
|
||||||
//= require lib/items/page_widget_edit_interface
|
|
||||||
//= require lib/items/items
|
//= require lib/items/items
|
|
@ -136,6 +136,71 @@
|
||||||
color: #8A8A8A;
|
color: #8A8A8A;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
#pageslide .display-mode i {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
#pageslide .display-mode table {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
#pageslide .display-mode table td:last-child {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
#pageslide .display-mode table thead th {
|
||||||
|
color: #8A8A8A;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
#pageslide .typesetting {
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
#pageslide .typesetting li {
|
||||||
|
width: 72px;
|
||||||
|
height: 72px;
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
#pageslide .typesetting li.active {
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
#pageslide .typesetting li.active:after {
|
||||||
|
font-family: FontAwesome;
|
||||||
|
content: "\f00c";
|
||||||
|
font-size: 12px;
|
||||||
|
text-indent: 15px;
|
||||||
|
line-height: 18px;
|
||||||
|
color: #08C;
|
||||||
|
position: absolute;
|
||||||
|
top: 2px;
|
||||||
|
right: 2px;
|
||||||
|
width: 0px;
|
||||||
|
height: 0px;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 0 30px 30px 0;
|
||||||
|
border-color: transparent #FFF transparent transparent;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
#pageslide .typesetting input[type="radio"] {
|
||||||
|
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||||
|
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0)0;
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#pageslide .typesetting img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
#pageslide .typesetting .style_description {
|
||||||
|
position: absolute;
|
||||||
|
width: 240%;
|
||||||
|
top: 0;
|
||||||
|
left: 85px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* iFrame */
|
/* iFrame */
|
||||||
|
|
|
@ -38,7 +38,7 @@ class Admin::ItemsController < OrbitBackendController
|
||||||
m = {}
|
m = {}
|
||||||
m["main"] = [module_app.title, module_app.id.to_s]
|
m["main"] = [module_app.title, module_app.id.to_s]
|
||||||
m["sub"] = module_app.app_pages.map{|name, data| [t(data["i18n"]), name]} rescue []
|
m["sub"] = module_app.app_pages.map{|name, data| [t(data["i18n"]), name]} rescue []
|
||||||
m["sub"] << [I18n.t('default_widget.name'),'default_widget'] if module_app.has_default_widget?
|
m["sub"] << [I18n.t('default_widget.default_widget'),'default_widget'] if module_app.has_default_widget?
|
||||||
m["category"] = module_app.categories.map{|category| [category.title, category.id.to_s] } rescue ''
|
m["category"] = module_app.categories.map{|category| [category.title, category.id.to_s] } rescue ''
|
||||||
m["tags"] = module_app.tags.map{|tag| [tag.name, tag.id.to_s] } rescue ''
|
m["tags"] = module_app.tags.map{|tag| [tag.name, tag.id.to_s] } rescue ''
|
||||||
m["count"] = module_app.get_registration.get_data_count.to_a
|
m["count"] = module_app.get_registration.get_data_count.to_a
|
||||||
|
|
|
@ -1,143 +1,51 @@
|
||||||
class Admin::PagesController < Admin::ItemsController
|
class Admin::PagesController < Admin::ItemsController
|
||||||
helper Admin::PagePartsHelper
|
# helper Admin::PagePartsHelper
|
||||||
include Admin::FrontendWidgetInterface
|
# include Admin::FrontendWidgetInterface
|
||||||
|
|
||||||
def show
|
|
||||||
@item = Page.find(params[:id])
|
|
||||||
@no_orbit_bar = true
|
|
||||||
@edit = true
|
|
||||||
render :text => parse_page_content(@item), :layout => 'page_layout'
|
|
||||||
end
|
|
||||||
|
|
||||||
def new
|
|
||||||
@item = Page.new(params[:page])
|
|
||||||
@item.parent = Item.find(params[:parent_id]) rescue nil
|
|
||||||
get_variables_for_new
|
|
||||||
render layout: false
|
|
||||||
end
|
|
||||||
|
|
||||||
def edit
|
|
||||||
@item = Page.find(params[:id])
|
|
||||||
get_variables_for_edit
|
|
||||||
render layout: false
|
|
||||||
end
|
|
||||||
|
|
||||||
def reload_themes
|
|
||||||
design = Design.find(params[:design_id])
|
|
||||||
@themes = design.themes
|
|
||||||
respond_to do |format|
|
|
||||||
format.js {}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def reload_frontend_pages
|
|
||||||
@item = Page.find(params[:id]) rescue Page.new
|
|
||||||
@selected={
|
|
||||||
:design => nil,
|
|
||||||
:theme=> nil,
|
|
||||||
:module_app=>(ModuleApp.find(params[:module_app_id]) rescue nil),
|
|
||||||
:app_frontend_url=> @item.app_frontend_url || 'default_widget', #@module_apps.first
|
|
||||||
:category=>nil, #fetch by method: get_categories_and_tags
|
|
||||||
:tag=>nil, #fetch by method: get_categories_and_tags
|
|
||||||
:page_frontend_data_count=>nil,
|
|
||||||
:frontend_style => nil
|
|
||||||
}
|
|
||||||
@app_frontend_urls = @selected[:module_app] ? select_array_for_app_frontend_urls(@selected[:module_app].app_pages) : nil
|
|
||||||
|
|
||||||
get_categories_and_tags
|
|
||||||
get_frontend_data_count
|
|
||||||
get_frontend_styles
|
|
||||||
|
|
||||||
respond_to do |format|
|
|
||||||
format.js {}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
def reload_front_end_setting
|
|
||||||
@item = Page.find(params[:id]) rescue Page.new
|
|
||||||
|
|
||||||
@categories = nil
|
|
||||||
@tags = nil
|
|
||||||
@page_frontend_data_counts = nil
|
|
||||||
|
|
||||||
@selected={
|
|
||||||
# :design => @item.design || @designs.first,
|
|
||||||
# :theme=> @item.theme,
|
|
||||||
:module_app=>ModuleApp.find(params[:module_app_id]),
|
|
||||||
:app_frontend_url=> params[:frontend] ,
|
|
||||||
:category=>nil, #fetch by method: get_categories_and_tags
|
|
||||||
:tag=>nil, #fetch by method: get_categories_and_tags
|
|
||||||
:page_frontend_data_count=>nil,
|
|
||||||
:frontend_style => nil
|
|
||||||
}
|
|
||||||
@app_frontend_urls = @selected[:module_app].nil? ? nil : @selected[:module_app].app_pages.each{|name,data| [I18n.t(data["i18n"]),name]}
|
|
||||||
@frontend_styles = @selected[:module_app].app_pages[params["frontend"]]["style"] rescue nil
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
def reload_widget_field
|
|
||||||
@index = params[:field_seri].to_i
|
|
||||||
@item = Page.find(params[:id]) rescue Page.new
|
|
||||||
@selected = {
|
|
||||||
:module_app=> (ModuleApp.find(params[:module_app_id]) || @item.module_app ),
|
|
||||||
:default_widget_field=>params[:widget_field_value]
|
|
||||||
}
|
|
||||||
# @choosen_field = params[:widget_field_value]
|
|
||||||
# @module_app = @item.module_app
|
|
||||||
# @module_app = ModuleApp.find params[:module_app_id] if @module_app.nil?
|
|
||||||
end
|
|
||||||
|
|
||||||
def create
|
def create
|
||||||
clean_tags_and_category_params
|
|
||||||
@item = Page.new(params[:page])
|
@item = Page.new(params[:page])
|
||||||
|
|
||||||
if @item.module_app && @item.module_app.key == 'page_content'
|
if @item.module_app && @item.module_app.key == 'page_content'
|
||||||
@item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id )
|
@item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id )
|
||||||
end
|
end
|
||||||
|
|
||||||
if @item.save
|
if @item.save
|
||||||
flash.now[:notice] = t('create.success.page')
|
render 'admin/items/reload_items'
|
||||||
respond_to do |format|
|
|
||||||
format.js { render 'admin/items/reload_items' }
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
flash.now[:error] = t('create.error.page')
|
@error = error_messages_for(@item)
|
||||||
@designs = Design.all.entries
|
render 'admin/items/form_error'
|
||||||
@design = Design.find(params[:page][:design]) || Design.first
|
|
||||||
@themes = @design.themes
|
|
||||||
@module_apps = ModuleApp.for_frontend_select
|
|
||||||
@selected={
|
|
||||||
:design => params[:page][:design],
|
|
||||||
:theme=> (Theme.find(params[:page][:theme_id]) rescue nil),
|
|
||||||
:module_app=> (ModuleApp.find(params[:page][:module_app_id]) rescue nil) ,#@module_apps.first
|
|
||||||
:app_frontend_url=> params[:page][:app_frontend_url], #@module_apps.first
|
|
||||||
:category=>params[:page][:category],
|
|
||||||
:tag=>params[:page][:tag],
|
|
||||||
:page_frontend_data_count=>params[:page][:page_frontend_data_count],
|
|
||||||
:frontend_style => params[:page][:frontend_style]
|
|
||||||
}
|
|
||||||
@app_frontend_urls = @item.module_app ? select_array_for_app_frontend_urls(@item.module_app.app_pages) : nil
|
|
||||||
get_categories_and_tags
|
|
||||||
get_frontend_data_count
|
|
||||||
render :action => "new"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
clean_tags_and_category_params
|
|
||||||
@item = Page.find(params[:id])
|
@item = Page.find(params[:id])
|
||||||
if @item.module_app && @item.module_app.key == 'page_content' && @item.page_contexts.blank?
|
if @item.module_app && @item.module_app.key == 'page_content' && @item.page_contexts.blank?
|
||||||
@item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id )
|
@item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id )
|
||||||
end
|
end
|
||||||
unless @item.update_attributes(params[:page])
|
if @item.update_attributes(params[:page])
|
||||||
|
render 'admin/items/reload_items'
|
||||||
|
else
|
||||||
@error = error_messages_for(@item)
|
@error = error_messages_for(@item)
|
||||||
|
render 'admin/items/form_error'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_display_style
|
def get_display_style
|
||||||
|
@item = Page.find(params[:id]) rescue nil
|
||||||
|
@module_app = ModuleApp.find(params[:module_id]) rescue nil
|
||||||
|
if @module_app
|
||||||
|
if params[:val].eql?("default_widget")
|
||||||
|
@checked_style = @item.frontend_style.present? ? @item.frontend_style : nil if @item && @item.app_frontend_url.eql?("default_widget")
|
||||||
|
@enabled_styles = @module_app.get_default_widget["enabled_styles"]
|
||||||
|
@widget_fields = @module_app.widget_fields.collect do |widget_field|
|
||||||
|
label = I18n.t("#{@module_app.key}.default_widget.#{widget_field[0]}")
|
||||||
|
[label, widget_field[0], class: widget_field[2]]
|
||||||
|
end
|
||||||
|
@class_options = LIST[:widget_field_type].collect{|widget_field| [widget_field.humanize, widget_field]}
|
||||||
|
@partial = 'default_front'
|
||||||
|
else
|
||||||
|
@frontend_styles = @module_app.app_pages[params[:val]]["style"] rescue nil
|
||||||
|
@partial = 'custom_front' if @frontend_styles.present?
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_page_setting_json
|
def get_page_setting_json
|
||||||
|
@ -160,56 +68,4 @@ class Admin::PagesController < Admin::ItemsController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
protected
|
|
||||||
|
|
||||||
def get_frontend_styles
|
|
||||||
has_old_value = @selected[:module_app].app_pages[@selected[:app_frontend_url]]
|
|
||||||
@frontend_styles = has_old_value ? has_old_value["style"] : (@selected[:module_app].app_pages.first[1]["style"] rescue nil)
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_variables_for_new
|
|
||||||
@designs = Design.all.entries
|
|
||||||
@themes = Design.first.themes
|
|
||||||
@module_apps = ModuleApp.for_frontend_select
|
|
||||||
@app_frontend_urls = nil
|
|
||||||
@categories = nil
|
|
||||||
@tags = nil
|
|
||||||
@page_frontend_data_counts = nil
|
|
||||||
@frontend_styles = nil
|
|
||||||
@selected={
|
|
||||||
:design => @designs.first,
|
|
||||||
:theme=> @themes.first,
|
|
||||||
:module_app=>nil,#@module_apps.first
|
|
||||||
:app_frontend_url=> nil, #@module_apps.first
|
|
||||||
:category=>nil,
|
|
||||||
:tag=>nil,
|
|
||||||
:page_frontend_data_count=>nil,
|
|
||||||
:frontend_style => nil
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_variables_for_edit
|
|
||||||
@designs = Design.all.entries
|
|
||||||
@themes = @item.design ? @item.design.themes : @designs.first.themes
|
|
||||||
@module_apps = ModuleApp.for_frontend_select
|
|
||||||
@categories = nil
|
|
||||||
@tags = nil
|
|
||||||
@page_frontend_data_counts = nil
|
|
||||||
@frontend_styles = nil
|
|
||||||
|
|
||||||
@selected={
|
|
||||||
:design => @item.design || @designs.first,
|
|
||||||
:theme=> @item.theme,
|
|
||||||
:module_app=>@item.module_app,#@module_apps.first
|
|
||||||
:app_frontend_url=> @item.app_frontend_url, #@module_apps.first
|
|
||||||
:category=>nil, #fetch by method: get_categories_and_tags
|
|
||||||
:tag=>nil, #fetch by method: get_categories_and_tags
|
|
||||||
:page_frontend_data_count=>nil,
|
|
||||||
:frontend_style => nil
|
|
||||||
}
|
|
||||||
@app_frontend_urls = @item.module_app ? select_array_for_app_frontend_urls(@item.module_app.app_pages) : nil
|
|
||||||
get_categories_and_tags
|
|
||||||
get_frontend_data_count
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -38,6 +38,10 @@ class Page < Item
|
||||||
self.save
|
self.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def frontend_with_link
|
||||||
|
frontend_sat_to_link.map{|d| (d && d.eql?("true")) ? true : false}
|
||||||
|
end
|
||||||
|
|
||||||
def default_widget_field_sat_to_link?(i)
|
def default_widget_field_sat_to_link?(i)
|
||||||
case frontend_sat_to_link[i]
|
case frontend_sat_to_link[i]
|
||||||
when 'true'
|
when 'true'
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
$("#pageslide #page_error").html("<%= j @error %>");
|
|
@ -1,6 +0,0 @@
|
||||||
<% if @error %>
|
|
||||||
$("#pageslide #page_error").html("<%= j @error %>");
|
|
||||||
<% else %>
|
|
||||||
$("#<%= @item.id.to_s %>").html("<%= j render 'admin/items/node_and_children', node: @item %>");
|
|
||||||
reloadStructure();
|
|
||||||
<% end %>
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
<label><%= t("default_widget.select_widget_style") %></label>
|
||||||
|
<%= select 'page', 'frontend_style', @frontend_styles, {:selected => (@item && @item[:frontend_style])}, class: "input-xlarge" %>
|
|
@ -0,0 +1,98 @@
|
||||||
|
<label><%= t("default_widget.select_widget_style") %></label>
|
||||||
|
<ul class="typesetting">
|
||||||
|
<% if @enabled_styles.include?("typeA") %>
|
||||||
|
<li class="active">
|
||||||
|
<input type="radio" class="d-theme" name="page[frontend_style]" value="typeA" checked="checked">
|
||||||
|
<%= radio_button_tag "page[frontend_style]", "typeA", @checked_style ? @checked_style.eql?("typeA") : true, class: "d-theme" %>
|
||||||
|
<%= image_tag 'module/default_widgets/style01.png'%>
|
||||||
|
<span class="style_description"><%= t("default_widget.caption.typeA") %></span>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
<% if @enabled_styles.include?("typeB_style2") %>
|
||||||
|
<li>
|
||||||
|
<%= radio_button_tag "page[frontend_style]", "typeB_style2", @checked_style ? @checked_style.eql?("typeB_style2") : false, class: "d-theme" %>
|
||||||
|
<%= image_tag 'module/default_widgets/style02.png'%>
|
||||||
|
<span class="style_description"><%= t("default_widget.caption.typeB_style2") %></span>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
<% if @enabled_styles.include?("typeB_style3") %>
|
||||||
|
<li>
|
||||||
|
<%= radio_button_tag "page[frontend_style]", "typeB_style3", @checked_style ? @checked_style.eql?("typeB_style3") : false, class: "d-theme" %>
|
||||||
|
<%= image_tag 'module/default_widgets/style03.png'%>
|
||||||
|
<span class="style_description"><%= t("default_widget.caption.typeB_style3") %></span>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
<% if @enabled_styles.include?("typeB_style4") %>
|
||||||
|
<li>
|
||||||
|
<%= radio_button_tag "page[frontend_style]", "typeB_style4", @checked_style ? @checked_style.eql?("typeB_style4") : false, class: "d-theme" %>
|
||||||
|
<%= image_tag 'module/default_widgets/style04.png'%>
|
||||||
|
<span class="style_description"><%= t("default_widget.caption.typeB_style4") %></span>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
<% if @enabled_styles.include?("typeC") %>
|
||||||
|
<li>
|
||||||
|
<%= radio_button_tag "page[frontend_style]", "typeC", @checked_style ? @checked_style.eql?("typeC") : false, class: "d-theme" %>
|
||||||
|
<%= image_tag 'module/default_widgets/style05.png'%>
|
||||||
|
<span class="style_description"><%= t("default_widget.caption.typeC") %></span>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
<label><%= t("default_widget.fields_") %></label>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><%= t "default_widget.fields_order" %></th>
|
||||||
|
<th></th>
|
||||||
|
<th><%= t "default_widget.fields_style" %></th>
|
||||||
|
<th class="span1"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="form-inline">
|
||||||
|
<% @widget_fields.count.times do |i| %>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<%= select_tag "page[frontend_field][][field_name]", options_for_select(@widget_fields, (@item.frontend_field_name[i] if @item)), include_blank: true, class: "input-small widget_field" %>
|
||||||
|
</td>
|
||||||
|
<td><i class="icons-arrow-right-6"></i></td>
|
||||||
|
<td>
|
||||||
|
<%= select_tag "page[frontend_field][][class]", options_for_select(@class_options, (@item.frontend_class[i] if @item)), include_blank: true, class: "input-small" %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label class="checkbox">
|
||||||
|
<span class="checkbox_link hide"><%= check_box_tag 'page[frontend_field][][sat_to_link]', true, @item && @item.frontend_with_link[i] || false %> <%= t(:link) %></span>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#pageslide').on(clickEvent, '.typesetting input[type="radio"]', function(event) {
|
||||||
|
$(this).prop('checked') ? $(this).closest('li').addClass('active').siblings('li').removeClass('active') : '';
|
||||||
|
});
|
||||||
|
$('#pageslide select.widget_field').each(function() {
|
||||||
|
if($(this).find(":selected").prop('class') == 'link') {
|
||||||
|
$(this).closest('tr').find('.checkbox_link').show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#pageslide').on('change', '.widget_field', function() {
|
||||||
|
if($(this).find(":selected").prop('class') == 'link') {
|
||||||
|
$(this).closest('tr').find('.checkbox_link')
|
||||||
|
.show()
|
||||||
|
.end()
|
||||||
|
.find('.checkbox_link input[type="checkbox"]')
|
||||||
|
.prop('checked', false);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$(this).closest('tr').find('.checkbox_link')
|
||||||
|
.hide()
|
||||||
|
.end()
|
||||||
|
.find('.checkbox_link input[type="checkbox"]')
|
||||||
|
.prop('checked', false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<% if @partial %>
|
||||||
|
$("#pageslide .display-mode").html("<%= j render @partial %>")
|
||||||
|
<% else %>
|
||||||
|
$("#pageslide .display-mode").html('')
|
||||||
|
<% end %>
|
Reference in New Issue