DEV: Update linting config and run gjs-codemod
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { action } from "@ember/object";
|
||||
import { mapBy } from "@ember/object/computed";
|
||||
import { classNames } from "@ember-decorators/component";
|
||||
import DButton from "discourse/components/d-button";
|
||||
import { makeArray } from "discourse/lib/helpers";
|
||||
import HouseAdsChooser from "./house-ads-chooser";
|
||||
import HouseAdsSetting from "./house-ads-setting";
|
||||
|
||||
@classNames("house-ads-setting house-ads-list-setting")
|
||||
export default class HouseAdsListSetting extends HouseAdsSetting {
|
||||
@mapBy("allAds", "name") adNames;
|
||||
|
||||
@action
|
||||
changeAdValue(value) {
|
||||
const settingValue = makeArray(value).join("|");
|
||||
this.set("adValue", settingValue);
|
||||
}
|
||||
|
||||
<template>
|
||||
<label for={{this.name}}>{{this.title}}</label>
|
||||
<HouseAdsChooser
|
||||
@settingValue={{this.adValue}}
|
||||
@choices={{this.adNames}}
|
||||
@onChange={{this.changeAdValue}}
|
||||
/>
|
||||
<div class="setting-controls">
|
||||
{{#if this.changed}}
|
||||
<DButton class="ok" @action={{action "save"}} @icon="check" />
|
||||
<DButton class="cancel" @action={{action "cancel"}} @icon="xmark" />
|
||||
{{/if}}
|
||||
</div>
|
||||
<p class="help">{{this.help}}</p>
|
||||
</template>
|
||||
}
|
||||
+14
@@ -1,6 +1,8 @@
|
||||
import Component from "@ember/component";
|
||||
import { action } from "@ember/object";
|
||||
import { classNames } from "@ember-decorators/component";
|
||||
import DButton from "discourse/components/d-button";
|
||||
import TextField from "discourse/components/text-field";
|
||||
import { ajax } from "discourse/lib/ajax";
|
||||
import { popupAjaxError } from "discourse/lib/ajax-error";
|
||||
import { i18n as computedI18n, propertyNotEqual } from "discourse/lib/computed";
|
||||
@@ -55,4 +57,16 @@ export default class HouseAdsSetting extends Component {
|
||||
cancel() {
|
||||
this.set("adValue", this.get("value"));
|
||||
}
|
||||
|
||||
<template>
|
||||
<label for={{this.name}}>{{this.title}}</label>
|
||||
<TextField @value={{this.adValue}} @classNames="house-ads-text-input" />
|
||||
<div class="setting-controls">
|
||||
{{#if this.changed}}
|
||||
<DButton class="ok" @action={{action "save"}} @icon="check" />
|
||||
<DButton class="cancel" @action={{action "cancel"}} @icon="xmark" />
|
||||
{{/if}}
|
||||
</div>
|
||||
<p class="help">{{this.help}}</p>
|
||||
</template>
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
import { LinkTo } from "@ember/routing";
|
||||
import RouteTemplate from "ember-route-template";
|
||||
import DButton from "discourse/components/d-button";
|
||||
import routeAction from "discourse/helpers/route-action";
|
||||
import { i18n } from "discourse-i18n";
|
||||
import HouseAdsListSetting from "../components/house-ads-list-setting";
|
||||
|
||||
export default RouteTemplate(
|
||||
<template>
|
||||
<section class="house-ads-settings content-body">
|
||||
<div>{{i18n "admin.adplugin.house_ads.description"}}</div>
|
||||
|
||||
{{#if @controller.houseAds.length}}
|
||||
<form class="form-horizontal">
|
||||
<HouseAdsListSetting
|
||||
@name="topic_list_top"
|
||||
@value={{@controller.adSettings.topic_list_top}}
|
||||
@allAds={{@controller.houseAds}}
|
||||
@adSettings={{@controller.adSettings}}
|
||||
/>
|
||||
<HouseAdsListSetting
|
||||
@name="topic_above_post_stream"
|
||||
@value={{@controller.adSettings.topic_above_post_stream}}
|
||||
@allAds={{@controller.houseAds}}
|
||||
@adSettings={{@controller.adSettings}}
|
||||
/>
|
||||
<HouseAdsListSetting
|
||||
@name="topic_above_suggested"
|
||||
@value={{@controller.adSettings.topic_above_suggested}}
|
||||
@allAds={{@controller.houseAds}}
|
||||
@adSettings={{@controller.adSettings}}
|
||||
/>
|
||||
<HouseAdsListSetting
|
||||
@name="post_bottom"
|
||||
@value={{@controller.adSettings.post_bottom}}
|
||||
@allAds={{@controller.houseAds}}
|
||||
@adSettings={{@controller.adSettings}}
|
||||
/>
|
||||
<HouseAdsListSetting
|
||||
@name="topic_list_between"
|
||||
@value={{@controller.adSettings.topic_list_between}}
|
||||
@allAds={{@controller.houseAds}}
|
||||
@adSettings={{@controller.adSettings}}
|
||||
/>
|
||||
|
||||
<DButton
|
||||
@label="admin.adplugin.house_ads.more_settings"
|
||||
@icon="gear"
|
||||
@action={{routeAction "moreSettings"}}
|
||||
class="btn-default"
|
||||
/>
|
||||
</form>
|
||||
{{else}}
|
||||
<p>
|
||||
{{#LinkTo route="adminPlugins.houseAds.show" model="new"}}
|
||||
{{i18n "admin.adplugin.house_ads.get_started"}}
|
||||
{{/LinkTo}}
|
||||
</p>
|
||||
{{/if}}
|
||||
</section>
|
||||
</template>
|
||||
);
|
||||
@@ -0,0 +1,97 @@
|
||||
import { Input } from "@ember/component";
|
||||
import { fn, hash } from "@ember/helper";
|
||||
import RouteTemplate from "ember-route-template";
|
||||
import AceEditor from "discourse/components/ace-editor";
|
||||
import DButton from "discourse/components/d-button";
|
||||
import TextField from "discourse/components/text-field";
|
||||
import { i18n } from "discourse-i18n";
|
||||
import GroupChooser from "select-kit/components/group-chooser";
|
||||
import HouseAdsCategorySelector from "../components/house-ads-category-selector";
|
||||
|
||||
export default RouteTemplate(
|
||||
<template>
|
||||
<section class="edit-house-ad content-body">
|
||||
<h1><TextField
|
||||
@value={{@controller.buffered.name}}
|
||||
class="house-ad-name"
|
||||
/></h1>
|
||||
<div class="controls">
|
||||
<AceEditor
|
||||
@content={{@controller.buffered.html}}
|
||||
@onChange={{fn (mut @controller.buffered.html)}}
|
||||
@mode="html"
|
||||
/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<div class="visibility-settings">
|
||||
<div>
|
||||
<Input
|
||||
@type="checkbox"
|
||||
@checked={{@controller.buffered.visible_to_logged_in_users}}
|
||||
class="visible-to-logged-in-checkbox"
|
||||
/>
|
||||
<span>{{i18n
|
||||
"admin.adplugin.house_ads.show_to_logged_in_users"
|
||||
}}</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Input
|
||||
class="visible-to-anonymous-checkbox"
|
||||
@type="checkbox"
|
||||
@checked={{@controller.buffered.visible_to_anons}}
|
||||
/>
|
||||
<span>{{i18n "admin.adplugin.house_ads.show_to_anons"}}</span>
|
||||
</div>
|
||||
|
||||
<HouseAdsCategorySelector
|
||||
@categories={{@controller.site.categories}}
|
||||
@selectedCategories={{@controller.selectedCategories}}
|
||||
@onChange={{@controller.setCategoryIds}}
|
||||
@options={{hash allowAny=true}}
|
||||
class="house-ads-categories"
|
||||
/>
|
||||
<div class="description">
|
||||
{{i18n "admin.adplugin.house_ads.category_chooser_description"}}
|
||||
</div>
|
||||
|
||||
<GroupChooser
|
||||
@content={{@controller.site.groups}}
|
||||
@onChange={{@controller.setGroupIds}}
|
||||
@value={{@controller.selectedGroups}}
|
||||
class="banner-groups"
|
||||
/>
|
||||
<div class="description">
|
||||
{{i18n "admin.adplugin.house_ads.group_chooser_description"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<DButton
|
||||
@action={{@controller.save}}
|
||||
@disabled={{@controller.disabledSave}}
|
||||
@label="admin.adplugin.house_ads.save"
|
||||
class="btn-primary save-button"
|
||||
/>
|
||||
|
||||
{{#if @controller.saving}}
|
||||
{{@controller.savingStatus}}
|
||||
{{else}}
|
||||
{{#unless @controller.disabledSave}}
|
||||
<DButton @action={{@controller.cancel}} @label="cancel" />
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
|
||||
<DButton
|
||||
@action={{@controller.openPreview}}
|
||||
@label="admin.adplugin.house_ads.preview"
|
||||
/>
|
||||
|
||||
<DButton
|
||||
@action={{@controller.destroy}}
|
||||
@label="admin.adplugin.house_ads.delete"
|
||||
class="btn-danger delete-button"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
);
|
||||
@@ -0,0 +1,43 @@
|
||||
import { LinkTo } from "@ember/routing";
|
||||
import RouteTemplate from "ember-route-template";
|
||||
import icon from "discourse/helpers/d-icon";
|
||||
import { i18n } from "discourse-i18n";
|
||||
|
||||
export default RouteTemplate(
|
||||
<template>
|
||||
<div class="adplugin-mgmt">
|
||||
<h1>{{i18n "admin.adplugin.house_ads.title"}}</h1>
|
||||
{{#if @controller.model.length}}
|
||||
<div class="content-list">
|
||||
<div class="house-ads-actions">
|
||||
<LinkTo
|
||||
@route="adminPlugins.houseAds.show"
|
||||
@model="new"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
{{icon "plus"}}
|
||||
<span>{{i18n "admin.adplugin.house_ads.new"}}</span>
|
||||
</LinkTo>
|
||||
<LinkTo
|
||||
@route="adminPlugins.houseAds.index"
|
||||
class="btn btn-default"
|
||||
>
|
||||
{{icon "gear"}}
|
||||
<span>{{i18n "admin.adplugin.house_ads.settings"}}</span>
|
||||
</LinkTo>
|
||||
</div>
|
||||
<ul class="house-ads-list">
|
||||
{{#each @controller.model as |ad|}}
|
||||
<li class="house-ads-list-item">
|
||||
{{#LinkTo route="adminPlugins.houseAds.show" model=ad.id}}
|
||||
{{ad.name}}
|
||||
{{/LinkTo}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{outlet}}
|
||||
</div>
|
||||
</template>
|
||||
);
|
||||
@@ -1,13 +0,0 @@
|
||||
<label for={{this.name}}>{{this.title}}</label>
|
||||
{{house-ads-chooser
|
||||
settingValue=this.adValue
|
||||
choices=this.adNames
|
||||
onChange=this.changeAdValue
|
||||
}}
|
||||
<div class="setting-controls">
|
||||
{{#if this.changed}}
|
||||
<DButton class="ok" @action={{action "save"}} @icon="check" />
|
||||
<DButton class="cancel" @action={{action "cancel"}} @icon="xmark" />
|
||||
{{/if}}
|
||||
</div>
|
||||
<p class="help">{{this.help}}</p>
|
||||
@@ -1,16 +0,0 @@
|
||||
import { action } from "@ember/object";
|
||||
import { mapBy } from "@ember/object/computed";
|
||||
import { classNames } from "@ember-decorators/component";
|
||||
import { makeArray } from "discourse/lib/helpers";
|
||||
import HouseAdsSetting from "discourse/plugins/discourse-adplugin/discourse/components/house-ads-setting";
|
||||
|
||||
@classNames("house-ads-setting house-ads-list-setting")
|
||||
export default class HouseAdsListSetting extends HouseAdsSetting {
|
||||
@mapBy("allAds", "name") adNames;
|
||||
|
||||
@action
|
||||
changeAdValue(value) {
|
||||
const settingValue = makeArray(value).join("|");
|
||||
this.set("adValue", settingValue);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
<label for={{this.name}}>{{this.title}}</label>
|
||||
<TextField @value={{this.adValue}} @classNames="house-ads-text-input" />
|
||||
<div class="setting-controls">
|
||||
{{#if this.changed}}
|
||||
<DButton class="ok" @action={{action "save"}} @icon="check" />
|
||||
<DButton class="cancel" @action={{action "cancel"}} @icon="xmark" />
|
||||
{{/if}}
|
||||
</div>
|
||||
<p class="help">{{this.help}}</p>
|
||||
@@ -1,51 +0,0 @@
|
||||
<section class="house-ads-settings content-body">
|
||||
<div>{{i18n "admin.adplugin.house_ads.description"}}</div>
|
||||
|
||||
{{#if this.houseAds.length}}
|
||||
<form class="form-horizontal">
|
||||
{{house-ads-list-setting
|
||||
name="topic_list_top"
|
||||
value=this.adSettings.topic_list_top
|
||||
allAds=this.houseAds
|
||||
adSettings=this.adSettings
|
||||
}}
|
||||
{{house-ads-list-setting
|
||||
name="topic_above_post_stream"
|
||||
value=this.adSettings.topic_above_post_stream
|
||||
allAds=this.houseAds
|
||||
adSettings=this.adSettings
|
||||
}}
|
||||
{{house-ads-list-setting
|
||||
name="topic_above_suggested"
|
||||
value=this.adSettings.topic_above_suggested
|
||||
allAds=this.houseAds
|
||||
adSettings=this.adSettings
|
||||
}}
|
||||
{{house-ads-list-setting
|
||||
name="post_bottom"
|
||||
value=this.adSettings.post_bottom
|
||||
allAds=this.houseAds
|
||||
adSettings=this.adSettings
|
||||
}}
|
||||
{{house-ads-list-setting
|
||||
name="topic_list_between"
|
||||
value=this.adSettings.topic_list_between
|
||||
allAds=this.houseAds
|
||||
adSettings=this.adSettings
|
||||
}}
|
||||
|
||||
<DButton
|
||||
@label="admin.adplugin.house_ads.more_settings"
|
||||
@icon="gear"
|
||||
@action={{route-action "moreSettings"}}
|
||||
class="btn-default"
|
||||
/>
|
||||
</form>
|
||||
{{else}}
|
||||
<p>
|
||||
{{#link-to route="adminPlugins.houseAds.show" model="new"}}
|
||||
{{i18n "admin.adplugin.house_ads.get_started"}}
|
||||
{{/link-to}}
|
||||
</p>
|
||||
{{/if}}
|
||||
</section>
|
||||
@@ -1,78 +0,0 @@
|
||||
<section class="edit-house-ad content-body">
|
||||
<h1><TextField @value={{this.buffered.name}} class="house-ad-name" /></h1>
|
||||
<div class="controls">
|
||||
<AceEditor
|
||||
@content={{this.buffered.html}}
|
||||
@onChange={{fn (mut this.buffered.html)}}
|
||||
@mode="html"
|
||||
/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<div class="visibility-settings">
|
||||
<div>
|
||||
<Input
|
||||
@type="checkbox"
|
||||
@checked={{this.buffered.visible_to_logged_in_users}}
|
||||
class="visible-to-logged-in-checkbox"
|
||||
/>
|
||||
<span>{{i18n "admin.adplugin.house_ads.show_to_logged_in_users"}}</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Input
|
||||
class="visible-to-anonymous-checkbox"
|
||||
@type="checkbox"
|
||||
@checked={{this.buffered.visible_to_anons}}
|
||||
/>
|
||||
<span>{{i18n "admin.adplugin.house_ads.show_to_anons"}}</span>
|
||||
</div>
|
||||
|
||||
<HouseAdsCategorySelector
|
||||
@categories={{this.site.categories}}
|
||||
@selectedCategories={{this.selectedCategories}}
|
||||
@onChange={{this.setCategoryIds}}
|
||||
@options={{hash allowAny=true}}
|
||||
class="house-ads-categories"
|
||||
/>
|
||||
<div class="description">
|
||||
{{i18n "admin.adplugin.house_ads.category_chooser_description"}}
|
||||
</div>
|
||||
|
||||
<GroupChooser
|
||||
@content={{this.site.groups}}
|
||||
@onChange={{this.setGroupIds}}
|
||||
@value={{this.selectedGroups}}
|
||||
class="banner-groups"
|
||||
/>
|
||||
<div class="description">
|
||||
{{i18n "admin.adplugin.house_ads.group_chooser_description"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<DButton
|
||||
@action={{this.save}}
|
||||
@disabled={{this.disabledSave}}
|
||||
@label="admin.adplugin.house_ads.save"
|
||||
class="btn-primary save-button"
|
||||
/>
|
||||
|
||||
{{#if this.saving}}
|
||||
{{this.savingStatus}}
|
||||
{{else}}
|
||||
{{#unless this.disabledSave}}
|
||||
<DButton @action={{this.cancel}} @label="cancel" />
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
|
||||
<DButton
|
||||
@action={{this.openPreview}}
|
||||
@label="admin.adplugin.house_ads.preview"
|
||||
/>
|
||||
|
||||
<DButton
|
||||
@action={{this.destroy}}
|
||||
@label="admin.adplugin.house_ads.delete"
|
||||
class="btn-danger delete-button"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
@@ -1,31 +0,0 @@
|
||||
<div class="adplugin-mgmt">
|
||||
<h1>{{i18n "admin.adplugin.house_ads.title"}}</h1>
|
||||
{{#if this.model.length}}
|
||||
<div class="content-list">
|
||||
<div class="house-ads-actions">
|
||||
<LinkTo
|
||||
@route="adminPlugins.houseAds.show"
|
||||
@model="new"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
{{d-icon "plus"}}
|
||||
<span>{{i18n "admin.adplugin.house_ads.new"}}</span>
|
||||
</LinkTo>
|
||||
<LinkTo @route="adminPlugins.houseAds.index" class="btn btn-default">
|
||||
{{d-icon "gear"}}
|
||||
<span>{{i18n "admin.adplugin.house_ads.settings"}}</span>
|
||||
</LinkTo>
|
||||
</div>
|
||||
<ul class="house-ads-list">
|
||||
{{#each this.model as |ad|}}
|
||||
<li class="house-ads-list-item">
|
||||
{{#link-to route="adminPlugins.houseAds.show" model=ad.id}}
|
||||
{{ad.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{outlet}}
|
||||
</div>
|
||||
Reference in New Issue
Block a user