Remove discussion_lock

This commit is contained in:
Luke "Jared" Bennett 2017-09-14 12:06:11 +01:00
parent a319418d9c
commit 579092f53a
No known key found for this signature in database
GPG Key ID: 402ED51FB5D306C2
5 changed files with 17 additions and 75 deletions

View File

@ -1,46 +0,0 @@
class DiscussionLock {
constructor(containerElm) {
this.containerElm = containerElm;
const lockButton = containerElm.querySelector('.js-discussion-lock-button');
console.log(lockButton);
if (lockButton) {
// remove class so we don't bind twice
lockButton.classList.remove('js-discussion-lock-button');
console.log(lockButton);
lockButton.addEventListener('click', this.toggleDiscussionLock.bind(this));
}
}
toggleDiscussionLock(event) {
const button = event.currentTarget;
const buttonSpan = button.querySelector('span');
if (!buttonSpan || button.classList.contains('disabled')) {
return;
}
button.classList.add('disabled');
const url = this.containerElm.dataset.url;
const lock = this.containerElm.dataset.lock;
const issuableType = this.containerElm.dataset.issuableType;
const data = {}
data[issuableType] = {}
data[issuableType].discussion_locked = lock
$.ajax({
url,
data: data,
type: 'PUT'
}).done((data) => {
button.classList.remove('disabled');
});
}
static bindAll(selector) {
[].forEach.call(document.querySelectorAll(selector), elm => new DiscussionLock(elm));
}
}
window.gl = window.gl || {};
window.gl.DiscussionLock = DiscussionLock;

View File

@ -80,7 +80,6 @@ import './copy_as_gfm';
import './copy_to_clipboard';
import './create_label';
import './diff';
import './discussion_lock';
import './dropzone_input';
import './due_date_select';
import './files_comment_button';

View File

@ -15,7 +15,7 @@
= icon('angle-double-left')
.issuable-meta
- if @merge_request.discussion_locked
- if @merge_request.discussion_locked?
= icon('lock', class: 'issuable-warning-icon')
= issuable_meta(@merge_request, @project, "Merge request")

View File

@ -135,17 +135,6 @@
%button.btn.btn-default.pull-right.js-subscribe-button.issuable-subscribe-button.hide-collapsed{ type: "button" }
%span= subscribed ? 'Unsubscribe' : 'Subscribe'
- if can_edit_issuable
- locked = issuable.discussion_locked?
.block.light.discussion-lock{ data: { lock: (!locked).to_s, url: "#{issuable_json_path(issuable)}?basic=true", issuable_type: issuable.class.to_s.underscore } }
.sidebar-collapsed-icon
= icon('rss', 'aria-hidden': 'true')
%span.issuable-header-text.hide-collapsed.pull-left
Discussion Lock
- subscribtion_status = locked ? 'locked' : 'not locked'
%button.btn.btn-default.pull-right.js-discussion-lock-button.issuable-discussion-lock-button.hide-collapsed{ type: "button" }
%span= locked ? 'Unlock' : 'Lock'
- project_ref = cross_project_reference(@project, issuable)
.block.project-reference
.sidebar-collapsed-icon.dont-change-state

View File

@ -32,8 +32,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
t.text "description", null: false
t.string "header_logo"
t.string "logo"
t.datetime_with_timezone "created_at", null: false
t.datetime_with_timezone "updated_at", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.text "description_html"
t.integer "cached_markdown_version"
end
@ -275,8 +275,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
t.string "encrypted_value_iv"
t.integer "group_id", null: false
t.boolean "protected", default: false, null: false
t.datetime_with_timezone "created_at", null: false
t.datetime_with_timezone "updated_at", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "ci_group_variables", ["group_id", "key"], name: "index_ci_group_variables_on_group_id_and_key", unique: true, using: :btree
@ -288,8 +288,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
t.string "encrypted_value_salt"
t.string "encrypted_value_iv"
t.integer "pipeline_schedule_id", null: false
t.datetime_with_timezone "created_at"
t.datetime_with_timezone "updated_at"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "ci_pipeline_schedule_variables", ["pipeline_schedule_id", "key"], name: "index_ci_pipeline_schedule_variables_on_schedule_id_and_key", unique: true, using: :btree
@ -537,8 +537,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
t.integer "project_id"
t.integer "author_id", null: false
t.integer "target_id"
t.datetime_with_timezone "created_at", null: false
t.datetime_with_timezone "updated_at", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "action", limit: 2, null: false
t.string "target_type"
end
@ -576,8 +576,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
add_index "forked_project_links", ["forked_to_project_id"], name: "index_forked_project_links_on_forked_to_project_id", unique: true, using: :btree
create_table "gpg_keys", force: :cascade do |t|
t.datetime_with_timezone "created_at", null: false
t.datetime_with_timezone "updated_at", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "user_id"
t.binary "primary_keyid"
t.binary "fingerprint"
@ -589,8 +589,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
add_index "gpg_keys", ["user_id"], name: "index_gpg_keys_on_user_id", using: :btree
create_table "gpg_signatures", force: :cascade do |t|
t.datetime_with_timezone "created_at", null: false
t.datetime_with_timezone "updated_at", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "project_id"
t.integer "gpg_key_id"
t.binary "commit_sha"
@ -789,8 +789,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
add_index "members", ["user_id"], name: "index_members_on_user_id", using: :btree
create_table "merge_request_diff_commits", id: false, force: :cascade do |t|
t.datetime_with_timezone "authored_date"
t.datetime_with_timezone "committed_date"
t.datetime "authored_date"
t.datetime "committed_date"
t.integer "merge_request_diff_id", null: false
t.integer "relative_order", null: false
t.binary "sha", null: false
@ -1114,8 +1114,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
create_table "project_auto_devops", force: :cascade do |t|
t.integer "project_id", null: false
t.datetime_with_timezone "created_at", null: false
t.datetime_with_timezone "updated_at", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "enabled"
t.string "domain"
end