From 7b604d5662339737d98252ed7e321a4e4521b855 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Tue, 13 Jun 2017 08:18:07 -0700 Subject: [PATCH] Revert "Remove /pol/ flags properly." #1403 This reverts commit 930a8a4307a32b5e75cd0ab1bbdf08367414afe3. --- src/General/Build/PostInfo.html | 8 ++++- src/Posting/QR.coffee | 56 ++++++++++++++++++++++++++++++++- src/Posting/QR.persona.coffee | 1 + src/Posting/QR.post.coffee | 15 ++++++--- 4 files changed, 73 insertions(+), 7 deletions(-) diff --git a/src/General/Build/PostInfo.html b/src/General/Build/PostInfo.html index 0f9f4e875..06dbd624b 100644 --- a/src/General/Build/PostInfo.html +++ b/src/General/Build/PostInfo.html @@ -11,7 +11,13 @@ ?{boardID === "f" && !o.isReply || capcodeDescription}{}{ } ?{capcodeDescription}{ ${capcode} Icon} ?{uniqueID && !capcode}{ (ID: ${uniqueID})} - ?{flagCode}{ } + ?{flagCode}{ + ?{boardID === "pol"}{ + \ ${flagCode} + }{ + \ + } + } ${dateText} diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index f4ae15fc6..f32789951 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -524,6 +524,8 @@ QR = QR.setCustomCooldown customCooldownEnabled $.sync 'customCooldownEnabled', QR.setCustomCooldown + QR.flagsInput() + $.on nodes.autohide, 'change', QR.toggleHide $.on nodes.close, 'click', QR.close $.on nodes.form, 'submit', QR.submit @@ -556,7 +558,7 @@ QR = new MutationObserver(QR.pasteFF).observe nodes.pasteArea, {childList: true} # save selected post's data - items = ['thread', 'name', 'email', 'sub', 'com', 'filename'] + items = ['thread', 'name', 'email', 'sub', 'com', 'filename', 'flag'] i = 0 save = -> QR.selected.save @ while name = items[i++] @@ -587,6 +589,57 @@ QR = # Use it to extend the QR's functionalities, or for XTRM RICE. $.event 'QRDialogCreation', null, dialog + flags: -> + select = $.el 'select', + name: 'flag' + className: 'flagSelector' + + fn = (val) -> + $.add select, $.el 'option', + value: val[0] + textContent: val[1] + + fn flag for flag in [ + ['0', 'None'] + ['US', 'American'] + ['KP', 'Best Korean'] + ['BL', 'Black Nationalist'] + ['CM', 'Communist'] + ['CF', 'Confederate'] + ['RE', 'Conservative'] + ['EU', 'European'] + ['GY', 'Gay'] + ['PC', 'Hippie'] + ['IL', 'Israeli'] + ['DM', 'Liberal'] + ['RP', 'Libertarian'] + ['MF', 'Muslim'] + ['NZ', 'Nazi'] + ['OB', 'Obama'] + ['PR', 'Pirate'] + ['RB', 'Rebel'] + ['TP', 'Tea Partier'] + ['TX', 'Texan'] + ['TR', 'Tree Hugger'] + ['WP', 'White Supremacist'] + ] + + select + + flagsInput: -> + {nodes} = QR + return if not nodes + if nodes.flag + $.rm nodes.flag + delete nodes.flag + + if g.BOARD.ID is 'pol' + flag = QR.flags() + flag.dataset.name = 'flag' + flag.dataset.default = '0' + nodes.flag = flag + $.add nodes.form, flag + submit: (e) -> e?.preventDefault() @@ -652,6 +705,7 @@ QR = upfile: post.file filetag: filetag spoiler: post.spoiler + flag: post.flag mode: 'regist' pwd: QR.persona.getPassword() diff --git a/src/Posting/QR.persona.coffee b/src/Posting/QR.persona.coffee index 5bf9c9123..68d7e47ba 100644 --- a/src/Posting/QR.persona.coffee +++ b/src/Posting/QR.persona.coffee @@ -60,4 +60,5 @@ QR.persona = $.get 'QR.persona', {}, ({'QR.persona': persona}) -> persona = name: post.name + flag: post.flag $.set 'QR.persona', persona diff --git a/src/Posting/QR.post.coffee b/src/Posting/QR.post.coffee index 89cf9f791..2e246ae08 100644 --- a/src/Posting/QR.post.coffee +++ b/src/Posting/QR.post.coffee @@ -54,6 +54,11 @@ QR.post = class else '' + if QR.nodes.flag + @flag = if prev + prev.flag + else + persona.flag (@load() if QR.selected is @) # load persona @select() if select @unlock() @@ -78,7 +83,7 @@ QR.post = class lock: (lock=true) -> @isLocked = lock return unless @ is QR.selected - for name in ['thread', 'name', 'email', 'sub', 'com', 'fileButton', 'filename', 'spoiler'] when node = QR.nodes[name] + for name in ['thread', 'name', 'email', 'sub', 'com', 'fileButton', 'filename', 'spoiler', 'flag'] when node = QR.nodes[name] node.disabled = lock @nodes.rm.style.visibility = if lock then 'hidden' else '' @nodes.spoiler.disabled = lock @@ -103,7 +108,7 @@ QR.post = class load: -> # Load this post's values. - for name in ['thread', 'name', 'email', 'sub', 'com', 'filename'] + for name in ['thread', 'name', 'email', 'sub', 'com', 'filename', 'flag'] continue if not (node = QR.nodes[name]) node.value = @[name] or node.dataset.default or '' @@ -129,8 +134,8 @@ QR.post = class return unless @file @saveFilename() @updateFilename() - when 'name' - if @name isnt prev # only save manual changes, not values filled in by persona settings + when 'name', 'flag' + if @[name] isnt prev # only save manual changes, not values filled in by persona settings QR.persona.set @ @preventAutoPost() unless forced @@ -138,7 +143,7 @@ QR.post = class return unless @ is QR.selected # Do this in case people use extensions # that do not trigger the `input` event. - for name in ['thread', 'name', 'email', 'sub', 'com', 'filename', 'spoiler'] + for name in ['thread', 'name', 'email', 'sub', 'com', 'filename', 'spoiler', 'flag'] continue if not (node = QR.nodes[name]) @save node, true return