tweak icon-library generation

This commit is contained in:
Joffrey JAFFEUX 2017-11-23 18:15:37 +01:00
parent dd5562322b
commit 9208909b26
17 changed files with 64 additions and 52 deletions

View File

@ -70,12 +70,7 @@ export function registerIconRenderer(renderer) {
// Support for font awesome icons
function faClasses(icon, params) {
let classNames;
if (typeof icon.replacementId !== "undefined") {
classNames = `fa fa-${icon.replacementId} d-icon ${icon.id}`;
} else {
classNames = `fa fa-${icon.id} d-icon d-${icon.id}`;
}
let classNames = `fa fa-${icon.replacementId || icon.id} d-icon d-icon-${icon.id}`;
if (params) {
if (params.modifier) { classNames += " fa-" + params.modifier; }

View File

@ -3,7 +3,7 @@
<label class="control-label">{{i18n 'user.categories_settings'}}</label>
<div class="controls category-controls">
<label>{{d-icon "d-watching" class="icon watching"}} {{i18n 'user.watched_categories'}}</label>
<label>{{d-icon "d-watching"}} {{i18n 'user.watched_categories'}}</label>
{{category-selector categories=model.watchedCategories blacklist=selectedCategories}}
</div>
<div class="instructions">{{i18n 'user.watched_categories_instructions'}}</div>
@ -12,7 +12,7 @@
</div>
<div class="controls category-controls">
<label>{{d-icon "d-tracking" class="icon tracking"}} {{i18n 'user.tracked_categories'}}</label>
<label>{{d-icon "d-tracking"}} {{i18n 'user.tracked_categories'}}</label>
{{category-selector categories=model.trackedCategories blacklist=selectedCategories}}
</div>
<div class="instructions">{{i18n 'user.tracked_categories_instructions'}}</div>
@ -21,13 +21,13 @@
</div>
<div class="controls category-controls">
<label>{{d-icon "d-watching-first" class="icon watching-first-post"}} {{i18n 'user.watched_first_post_categories'}}</label>
<label>{{d-icon "d-watching-first"}} {{i18n 'user.watched_first_post_categories'}}</label>
{{category-selector categories=model.watchedFirstPostCategories}}
</div>
<div class="instructions">{{i18n 'user.watched_first_post_categories_instructions'}}</div>
<div class="controls category-controls">
<label>{{d-icon "d-muted" class="icon muted"}} {{i18n 'user.muted_categories'}}</label>
<label>{{d-icon "d-muted"}} {{i18n 'user.muted_categories'}}</label>
{{category-selector categories=model.mutedCategories blacklist=selectedCategories}}
</div>
<div class="instructions">{{i18n 'user.muted_categories_instructions'}}</div>

View File

@ -20,8 +20,7 @@ export default DropdownSelectBoxComponent.extend({
@computed("iconForSelectedDetails")
headerIcon(iconForSelectedDetails) { return iconForSelectedDetails; },
@computed("selectedDetails.icon")
iconForSelectedDetails(icon) { return icon; },
iconForSelectedDetails: Ember.computed.alias("selectedDetails.icon"),
computeHeaderContent() {
let content = this.baseHeaderComputedContent();

View File

@ -0,0 +1,11 @@
.d-icon.d-icon-d-regular,
.d-icon.d-icon-d-muted,
.d-icon.d-icon-d-watching-first,
.d-icon.d-icon-d-watching-first-post {
color: dark-light-choose($primary-medium, $secondary-medium);
}
.d-icon.d-icon-d-tracking,
.d-icon.d-icon-d-watching {
color: $tertiary;
}

View File

@ -6,20 +6,6 @@
min-width: auto;
border: none;
.d-icon {
color: dark-light-choose(scale-color($primary, $lightness: 40%), scale-color($secondary, $lightness: 60%));
}
.d-regular, .d-muted, .d-watching-first-post {
color: dark-light-choose($primary-medium, $secondary-medium);
}
.d-tracking, .d-watching {
color: $tertiary;
font-weight: normal;
}
&.is-expanded {
.select-box-kit-collection,
.select-box-kit-body,

View File

@ -11,7 +11,7 @@ test('details button', (assert) => {
click('#create-topic');
click('button.options');
click('.popup-menu .d-caret-right');
click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
@ -30,7 +30,7 @@ test('details button', (assert) => {
});
click('button.options');
click('.popup-menu .d-caret-right');
click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
@ -53,7 +53,7 @@ test('details button', (assert) => {
});
click('button.options');
click('.popup-menu .d-caret-right');
click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
@ -76,7 +76,7 @@ test('details button', (assert) => {
});
click('button.options');
click('.popup-menu .d-caret-right');
click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
@ -105,7 +105,7 @@ test('details button surrounds all selected text in a single details block', (as
});
click('button.options');
click('.popup-menu .d-caret-right');
click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(

View File

@ -14,7 +14,7 @@ widgetTest('single, not selected', {
},
test(assert) {
assert.ok(find('li .d-circle-o:eq(0)').length === 1);
assert.ok(find('li .d-icon-circle-o:eq(0)').length === 1);
}
});
@ -27,7 +27,7 @@ widgetTest('single, selected', {
},
test(assert) {
assert.ok(find('li .d-dot-circle-o:eq(0)').length === 1);
assert.ok(find('li .d-icon-dot-circle-o:eq(0)').length === 1);
}
});
@ -43,7 +43,7 @@ widgetTest('multi, not selected', {
},
test(assert) {
assert.ok(find('li .d-square-o:eq(0)').length === 1);
assert.ok(find('li .d-icon-square-o:eq(0)').length === 1);
}
});
@ -59,6 +59,6 @@ widgetTest('multi, selected', {
},
test(assert) {
assert.ok(find('li .d-check-square-o:eq(0)').length === 1);
assert.ok(find('li .d-icon-check-square-o:eq(0)').length === 1);
}
});

View File

@ -264,7 +264,7 @@ QUnit.test("Composer can toggle between reply and createTopic", assert => {
click('.topic-post:eq(0) button.reply');
click('button.options');
click('.popup-menu .d-eye-slash');
click('.popup-menu .d-icon-eye-slash');
andThen(() => {
assert.ok(
find('.composer-fields .whisper').text().indexOf(I18n.t("composer.whisper")) > 0,
@ -286,7 +286,7 @@ QUnit.test("Composer can toggle between reply and createTopic", assert => {
});
click('button.options');
click('.popup-menu .d-eye-slash');
click('.popup-menu .d-icon-eye-slash');
andThen(() => {
assert.ok(
find('.composer-fields .whisper').text().indexOf(I18n.t("composer.unlist")) > 0,

View File

@ -33,7 +33,7 @@ QUnit.test("Share Popup", assert => {
QUnit.test("Showing and hiding the edit controls", assert => {
visit("/t/internationalization-localization/280");
click('#topic-title .d-pencil');
click('#topic-title .d-icon-pencil');
andThen(() => {
assert.ok(exists('#edit-title'), 'it shows the editing controls');
@ -50,7 +50,7 @@ QUnit.test("Showing and hiding the edit controls", assert => {
QUnit.test("Updating the topic title and category", assert => {
visit("/t/internationalization-localization/280");
click('#topic-title .d-pencil');
click('#topic-title .d-icon-pencil');
fillIn('#edit-title', 'this is the new title');
@ -165,7 +165,7 @@ QUnit.test("Visit topic routes", assert => {
QUnit.test("Updating the topic title with emojis", assert => {
visit("/t/internationalization-localization/280");
click('#topic-title .d-pencil');
click('#topic-title .d-icon-pencil');
fillIn('#edit-title', 'emojis title :bike: :blonde_woman:t6:');

View File

@ -7,8 +7,8 @@ componentTest('default', {
test(assert) {
const $selectKit = selectKit('.categories-admin-dropdown');
assert.equal($selectKit.el.find(".d-bars").length, 1);
assert.equal($selectKit.el.find(".d-caret-down").length, 1);
assert.equal($selectKit.el.find(".d-icon-bars").length, 1);
assert.equal($selectKit.el.find(".d-icon-caret-down").length, 1);
expandSelectKit();

View File

@ -6,7 +6,7 @@ componentTest('icon only button', {
test(assert) {
assert.ok(this.$('button.btn.btn-icon.no-text').length, 'it has all the classes');
assert.ok(this.$('button .d-icon.d-plus').length, 'it has the icon');
assert.ok(this.$('button .d-icon.d-icon-plus').length, 'it has the icon');
assert.equal(this.$('button').attr('tabindex'), "3", 'it has the tabindex');
}
});
@ -16,7 +16,7 @@ componentTest('icon and text button', {
test(assert) {
assert.ok(this.$('button.btn.btn-icon-text').length, 'it has all the classes');
assert.ok(this.$('button .d-icon.d-plus').length, 'it has the icon');
assert.ok(this.$('button .d-icon.d-icon-plus').length, 'it has the icon');
assert.ok(this.$('button span.d-button-label').length, 'it has the label');
}
});

View File

@ -0,0 +1,21 @@
import componentTest from 'helpers/component-test';
moduleForComponent('d-icon', {integration: true});
componentTest('default', {
template: '{{d-icon "bars"}}',
test(assert) {
const html = this.$().html().trim();
assert.equal(html, '<i class="fa fa-bars d-icon d-icon-bars"></i>');
}
});
componentTest('with replacement', {
template: '{{d-icon "d-watching"}}',
test(assert) {
const html = this.$().html().trim();
assert.equal(html, '<i class="fa fa-exclamation-circle d-icon d-icon-d-watching"></i>');
}
});

View File

@ -74,7 +74,7 @@ widgetTest('post deleted', {
});
},
test(assert) {
assert.ok(this.$('.post-action .d-trash-o').length === 1, 'it has the deleted icon');
assert.ok(this.$('.post-action .d-icon-trash-o').length === 1, 'it has the deleted icon');
assert.ok(this.$('.avatar[title=eviltrout]').length === 1, 'it has the deleted by avatar');
}
});

View File

@ -11,7 +11,7 @@ widgetTest('icon only button', {
test(assert) {
assert.ok(this.$('button.btn.btn-icon.no-text').length, 'it has all the classes');
assert.ok(this.$('button .d-icon.d-smile-o').length, 'it has the icon');
assert.ok(this.$('button .d-icon.d-icon-smile-o').length, 'it has the icon');
}
});
@ -24,7 +24,7 @@ widgetTest('icon and text button', {
test(assert) {
assert.ok(this.$('button.btn.btn-icon-text').length, 'it has all the classes');
assert.ok(this.$('button .d-icon.d-plus').length, 'it has the icon');
assert.ok(this.$('button .d-icon.d-icon-plus').length, 'it has the icon');
assert.ok(this.$('button span.d-button-label').length, 'it has the label');
}
});

View File

@ -66,7 +66,7 @@ widgetTest('no logo - minimized', {
},
test(assert) {
assert.ok(this.$('.d-home').length === 1);
assert.ok(this.$('.d-icon-home').length === 1);
}
});

View File

@ -436,7 +436,7 @@ widgetTest("reply directly above", {
click('a.reply-to-tab');
andThen(() => {
assert.equal(this.$('section.embedded-posts.top .cooked').length, 1);
assert.equal(this.$('section.embedded-posts .d-arrow-up').length, 1);
assert.equal(this.$('section.embedded-posts .d-icon-arrow-up').length, 1);
});
}
});
@ -673,7 +673,7 @@ widgetTest("replies - one below, not suppressed", {
click('button.show-replies');
andThen(() => {
assert.equal(this.$('section.embedded-posts.bottom .cooked').length, 1);
assert.equal(this.$('section.embedded-posts .d-arrow-down').length, 1);
assert.equal(this.$('section.embedded-posts .d-icon-arrow-down').length, 1);
});
}
});
@ -760,7 +760,7 @@ widgetTest("topic map - links", {
click('nav.buttons button');
andThen(() => {
assert.equal(this.$('.map.map-collapsed').length, 0);
assert.equal(this.$('.topic-map .d-chevron-up').length, 1);
assert.equal(this.$('.topic-map .d-icon-chevron-up').length, 1);
assert.equal(this.$('.topic-map-expanded').length, 1);
assert.equal(this.$('.topic-map-expanded .topic-link').length, 5, 'it limits the links displayed');
});

View File

@ -38,7 +38,7 @@ widgetTest('extra classes and glyphs', {
assert.ok(this.$('span.staff').length);
assert.ok(this.$('span.admin').length);
assert.ok(this.$('span.moderator').length);
assert.ok(this.$('.d-shield').length);
assert.ok(this.$('.d-icon-shield').length);
assert.ok(this.$('span.new-user').length);
assert.ok(this.$('span.fish').length);
}