app/views/pinboard_items/create.js.erb
$('[data-pin-button-item-id="<%= @pinboard_item.pinned_object_id -%>"]').replaceWith("<%= j pin_item_to_pinboard_link(@pinboard_item.pinned_object, sessions_current_user) -%>");
$('body').mx_spinner('hide');
TW.workbench.alert.create("Pinboard item was successfully created.", "notice");
var pinItemJson = {
id: <%= @pinboard_item.pinned_object_id -%>,
type: "<%= @pinboard_item.pinned_object_type -%>",
object_id: <%= @pinboard_item.pinned_object.id -%>,
is_inserted: <%= @pinboard_item.is_inserted -%>,
pinned_object_section: "<%= @pinboard_item.pinned_object_type.pluralize -%>"
}
var defaultExist = TW.workbench.pinboard.getInsertedPin(pinItemJson);
if (defaultExist) {
TW.workbench.pinboard.changeLink(defaultExist, false);
}
var injectItem = `<li class="slide-panel-category-item" data-insert="<%= @pinboard_item.is_inserted -%>" data-pinboard-object-id="<%= @pinboard_item.pinned_object.id -%>" data-pinboard-item-id="<%= @pinboard_item.id -%>" data-pin-item="<%= @pinboard_item.id -%>" id="<%= "order_#{@pinboard_item.id}" -%>">
<div class="handle flex-separate middle ui-sortable-handle">
<%= object_link(@pinboard_item.pinned_object) -%>
</div>
<%= pinboard_item_options(@pinboard_item) -%>
</li>`
if (!$('[data-pinboard-section="<%= @pinboard_item.pinned_object_type.pluralize -%>"]').length) {
var injectCategory = `
<div id="order_<%= @pinboard_item.pinned_object_type.pluralize -%>">
<div class="slide-panel-category-header flex-separate">
<%= @pinboard_item.pinned_object_type.pluralize -%>
<span
class="remove-all-pinned small-icon"
data-icon="close"
data-delete-all-pinboard-type="<%= @pinboard_item.pinned_object_type -%>"
data-delete-all-pinboard-section="<%= @pinboard_item.pinned_object_type.pluralize -%>"
>
</span>
</div>
<ul class="slide-panel-category-content"
data-pinboard-section="<%= @pinboard_item.pinned_object_type.pluralize -%>"
data-sortable
data-sortable-items="li"
data-sortable-on-change-url="<%= update_position_pinboard_items_path -%>"
>
</ul>
</div>`;
$(injectCategory).appendTo('#pinboard');
}
$(injectItem).appendTo('[data-pinboard-section="<%= @pinboard_item.pinned_object_type.pluralize -%>"]');
TW.workbench.pinboard.eventPinboardAdd(pinItemJson);
TW.workbench.pinboard.eventPinboardInsert(pinItemJson);
TW.workbench.pinboard.setDefaultClass();
if($(".slide-pinboard .empty-message").length) {
$(".empty-message").remove();
}