ruling_timer/app/views/admin/ruling_timers/_project_form.html.erb

155 lines
5.3 KiB
Plaintext

<% content_for :page_specific_css do %>
<%= stylesheet_link_tag "lib/main-forms" %>
<%= stylesheet_link_tag "lib/fileupload" %>
<%= stylesheet_link_tag "lib/main-list" %>
<%= stylesheet_link_tag "select2/select2" %>
<% end %>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "select2/select2.min" %>
<% end %>
<style type="text/css">
.reach_limit{
background: #a90c0c;
color: white;
padding: 4px 12px;
font-family: 'Varela Round';
letter-spacing: -.4px;
cursor: default;
display: inline-block;
}
.add-on.btn-group .dropdown-menu{
margin: 0;
}
.main-forms fieldset .input-area .controls .input-prepend a:hover{
color: #fff;
}
.main-forms fieldset .input-area {
padding: 0;
}
</style>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "lib/bootstrap-fileupload" %>
<%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
<%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
<%= javascript_include_tag "lib/file-type" %>
<%= javascript_include_tag "lib/module-area" %>
<%= javascript_include_tag "form" %>
<% end %>
<div class="control-group">
<label class="control-label">*<%= t("ruling_timer.project_name") %></label>
<div class="controls">
<%= f.text_field :project_name, :required => "required" %>
</div>
</div>
<div class="control-group">
<label class="control-label muted"><%= t("ruling_timer.category") %></label>
<span class="input-area">
<div class="controls">
<%= select_category(f, @module_app) %>
</div>
</span>
</div>
<div class="control-group">
<label class="control-label muted"><%= t(:tags) %></label>
<span class="input-area">
<%= select_tags(f, @module_app) %>
</span>
</div>
<div class="control-group">
<label class="control-label muted"><%= t("ruling_timer.objectives") %></label>
<div class="controls">
<%= f.text_area :objectives %>
</div>
</div>
<%= render :partial => "form_opts", :locals => {:base_name=>"ruling_timer",:field_name=>"status",:f=>f} %>
<%= render :partial => "form_opts", :locals => {:base_name=>"ruling_timer",:field_name=>"privacy",:f=>f} %>
<div class="control-group">
<label class="control-label muted"><%= t("ruling_timer.project_manager") %></label>
<div class="controls">
<div id="project_manager_append_area" class="checkbox-card">
<%= @selected_project_managers.join("\n").html_safe %>
</div>
<div class="clearfix"></div>
<button id="add_user_btn" type="button" class="btn btn-primary" data-modal="#project_manager_modal"><%=t("ruling_timer.change")%></button>
</div>
</div>
<div class="control-group">
<label class="control-label muted"><%= t("ruling_timer.project_member") %></label>
<div class="controls">
<div id="all_user_append_area" class="checkbox-card">
<%= @selected_all_users.join("\n").html_safe %>
</div>
<div class="clearfix"></div>
<button id="add_user_btn" type="button" class="btn btn-primary" data-modal="#all_user_modal"><%=t("ruling_timer.add_member")%></button>
</div>
</div>
<!-- Form Actions -->
<div class="form-actions">
<%= f.hidden_field :is_hidden, :value => "0" %>
<%= f.hidden_field :is_private, :value => "0" %>
<%= f.hidden_field :time_offset, :id=>"task_timeoffset" %>
<% referer = request.referer rescue nil %>
<% referer = get_referer_url if referer.blank? || request.host != URI.parse(URI.encode(referer)).host %>
<%= f.submit t('submit'), class: 'btn btn-primary' %>
<input type="hidden" name="referer_url" value="<%= referer %>">
<%= link_to t('cancel'), referer, :class=>"btn" %>
</div>
<script>
if (!Array.prototype.includes) {
Object.defineProperty(Array.prototype, "includes", {
enumerable: false,
value: function(obj) {
var newArr = this.filter(function(el) {
return el == obj;
});
return newArr.length > 0;
}
});
}
function matchCustom(params, data) {
var all_options = this.element[0].all_options;
if(params == undefined || params.trim() == ''){
return all_options.includes(data);
}else{
return (data.toLowerCase().search(params.toLowerCase()) != -1)
}
}
var select2 = $(".select2_selection_box");
select2.each(function(i,v){
var select2_item = $(v);
var all_options = select2_item.find("option").map(function(j,option){
return $(option).text();
}).toArray();
select2_item[0].all_options = all_options;
select2_item.select2({
placeholder: select2_item.data("placeholder"),
matcher: matchCustom,
width: 'resolve'
});
})
window.timer_offset = (new Date().getTimezoneOffset() / -60).toString();
if(window.timer_offset[0] != "-"){
window.timer_offset = "+" + window.timer_offset;
}
$(document).ready(function(){
$(".slider").each(function(i,slider){
var $slider = $(slider);
var $slider_value = $slider.parent().find(".slider_value");
$slider.slider({
min: parseInt($slider.attr("min")),
max: parseInt($slider.attr("max")),
slide: function(e, ui) {
$slider_value.html(ui.value);
}
})
$slider.on("change",function(){
$slider_value.text($(this).val());
})
})
$("#hslider")
$("#task_timeoffset").val(window.timer_offset);
$("[data-modal]").click(function(){
$($(this).data("modal")).modal("show");
})
})
</script>