Skip to content

Commit

Permalink
Fix tests!
Browse files Browse the repository at this point in the history
  • Loading branch information
Scott Elwood authored and Scott Elwood committed Sep 20, 2017
1 parent 8c06310 commit 4f9215c
Show file tree
Hide file tree
Showing 9 changed files with 538 additions and 502 deletions.
53 changes: 32 additions & 21 deletions dist/popover.js
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,26 @@ var error = function error(message) {
throw new Error(message);
};

var generateOptionClassnames = function generateOptionClassnames(options) {
if (options.classes) {
return Object.assign({}, options);
}

var prefix = options.classPrefix;

return Object.assign({}, options, {
classes: {
theme: prefix + '--' + options.themeClass,
constrained: prefix + '--is-constrained',
detachedContainer: prefix + '--detached-container',
content: prefix + '-content',
arrow: prefix + '-arrow',
isVisible: prefix + '--is-visible',
isOpen: prefix + '--is-open'
}
});
};

exports.oneEvent = oneEvent;
exports.addClass = addClass;
exports.error = error;
Expand All @@ -212,6 +232,7 @@ exports.setHalfPointsOnOrigin = setHalfPointsOnOrigin;
exports.getWindowOrigin = getWindowOrigin;
exports.whichTransitionEvent = whichTransitionEvent;
exports.toggleClassesOnElement = toggleClassesOnElement;
exports.generateOptionClassnames = generateOptionClassnames;

/***/ }),
/* 1 */
Expand Down Expand Up @@ -257,29 +278,13 @@ var defaults = {
onAfterShow: function onAfterShow() {}
};

var generateOptionClassnames = function generateOptionClassnames(options) {
var prefix = options.classPrefix;

return Object.assign({}, options, {
classes: {
theme: prefix + '--' + options.themeClass,
constrained: prefix + '--is-constrained',
detachedContainer: prefix + '--detached-container',
arrow: prefix + '-content',
content: prefix + '-arrow',
isVisible: prefix + '--is-visible',
isOpen: prefix + '--is-open'
}
});
};

var requiredOptions = ['attachmentElement', 'popoverElement'];

var Popoverjs = function () {
function Popoverjs(options) {
_classCallCheck(this, Popoverjs);

this.options = generateOptionClassnames(Object.assign({}, defaults, options));
this.options = (0, _utils.generateOptionClassnames)(Object.assign({}, defaults, options));

this.checkForRequiredOptions();
this.initialize();
Expand Down Expand Up @@ -795,7 +800,7 @@ var Renderer = function () {
function Renderer(options) {
_classCallCheck(this, Renderer);

this.options = Object.assign({}, defaults, options);
this.options = (0, _utils.generateOptionClassnames)(Object.assign({}, defaults, options));

this.onTriggerClick = this.onTriggerClick.bind(this);
this.onDocumentClick = this.onDocumentClick.bind(this);
Expand Down Expand Up @@ -1163,6 +1168,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var defaults = {
classPrefix: 'popoverjs',
themeClass: 'default',
bodyAttached: false,
dynamicWidth: false,
maintainAttachmentWidth: false,
Expand Down Expand Up @@ -1211,8 +1218,9 @@ var Positioner = function () {
_createClass(Positioner, [{
key: 'generateOptions',
value: function generateOptions(options) {
this.options = Object.assign({}, defaults, options);
var classPrefix = options.classPrefix;
this.options = (0, _utils.generateOptionClassnames)(Object.assign({}, defaults, options));

var classPrefix = this.options.classPrefix;

Object.assign(this.options.classes, {
sizer: generateSizerClasses(classPrefix)
Expand Down Expand Up @@ -1404,9 +1412,12 @@ var Positioner = function () {
className += ' ' + this.options.customClass;
}

if (this.options.themeClass) {
console.log('IS THERE AN ACUTALY ASDSD', this.options.classes.theme);

if (this.options.classes.theme) {
className += ' ' + this.options.classes.theme;
}
console.log("CLASS NAME TURNS OUT TO BE", className);

this.popoverElement.className = className;
}
Expand Down
8 changes: 8 additions & 0 deletions karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,18 @@ module.exports = (config) => {
files: [
'tests/**/*.test.js',
'tests/**/*.test.jsx',
'src/styles/*.scss',
],
preprocessors: {
'tests/**/*.test.js': ['webpack'],
'tests/**/*.test.jsx': ['webpack'],
'src/styles/*.scss': ['scss'],
},
scssPreprocessor: {
options: {
sourceMap: true,
includePaths: ['bower_components'],
},
},
webpack: webpackConfig,
reporters: ['mocha'],
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"karma-chrome-launcher": "^2.2.0",
"karma-jasmine": "^1.1.0",
"karma-mocha-reporter": "^2.2.3",
"karma-scss-preprocessor": "^3.0.0",
"karma-webpack": "^2.0.4",
"node-sass": "^4.5.3",
"sass-loader": "^6.0.6",
Expand Down
18 changes: 1 addition & 17 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import './polyfills';
import Renderer from './renderer';
import Positioner from './positioner';

import { error } from './utils';
import { error, generateOptionClassnames } from './utils';

import './styles/_main.scss';

Expand All @@ -20,22 +20,6 @@ const defaults = {
onAfterShow: () => {},
};

const generateOptionClassnames = (options) => {
const prefix = options.classPrefix;

return Object.assign({}, options, {
classes: {
theme: `${prefix}--${options.themeClass}`,
constrained: `${prefix}--is-constrained`,
detachedContainer: `${prefix}--detached-container`,
arrow: `${prefix}-content`,
content: `${prefix}-arrow`,
isVisible: `${prefix}--is-visible`,
isOpen: `${prefix}--is-open`,
},
});
};

const requiredOptions = [
'attachmentElement',
'popoverElement',
Expand Down
16 changes: 12 additions & 4 deletions src/positioner.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import documentOffset from 'document-offset';
import { toggleClassesOnElement, getElementOrigin, getWindowOrigin, throttle } from './utils';
import { toggleClassesOnElement, getElementOrigin, getWindowOrigin, throttle, generateOptionClassnames } from './utils';

const defaults = {
classPrefix: 'popoverjs',
themeClass: 'default',
bodyAttached: false,
dynamicWidth: false,
maintainAttachmentWidth: false,
Expand Down Expand Up @@ -52,8 +54,9 @@ class Positioner {
}

generateOptions(options) {
this.options = Object.assign({}, defaults, options);
const classPrefix = options.classPrefix;
this.options = generateOptionClassnames(Object.assign({}, defaults, options));

const classPrefix = this.options.classPrefix;

Object.assign(this.options.classes, {
sizer: generateSizerClasses(classPrefix),
Expand Down Expand Up @@ -131,6 +134,7 @@ class Positioner {

this.togglePopoverClasses(sizerClasses, true);


this.cssCache = {
arrowSize: this.getArrowSize(),
contentSize: this.getContentSize(),
Expand All @@ -140,6 +144,7 @@ class Positioner {
body: getBodyOffsets(),
};


this.togglePopoverClasses(sizerClasses, false);
}

Expand Down Expand Up @@ -220,9 +225,12 @@ class Positioner {
className += ` ${this.options.customClass}`;
}

if (this.options.themeClass) {
console.log('IS THERE AN ACUTALY ASDSD', this.options.classes.theme);

if (this.options.classes.theme) {
className += ` ${this.options.classes.theme}`;
}
console.log("CLASS NAME TURNS OUT TO BE", className);

this.popoverElement.className = className;
}
Expand Down
4 changes: 2 additions & 2 deletions src/renderer.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { oneEvent, toggleClassesOnElement, whichTransitionEvent } from './utils';
import { oneEvent, toggleClassesOnElement, whichTransitionEvent, generateOptionClassnames } from './utils';

const defaults = {
manualTriggering: false,
Expand All @@ -10,7 +10,7 @@ const defaults = {

class Renderer {
constructor(options) {
this.options = Object.assign({}, defaults, options);
this.options = generateOptionClassnames(Object.assign({}, defaults, options));

this.onTriggerClick = this.onTriggerClick.bind(this);
this.onDocumentClick = this.onDocumentClick.bind(this);
Expand Down
21 changes: 21 additions & 0 deletions src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,26 @@ const error = (message) => {
throw new Error(message);
};

const generateOptionClassnames = (options) => {
if (options.classes) {
return Object.assign({}, options);
}

const prefix = options.classPrefix;

return Object.assign({}, options, {
classes: {
theme: `${prefix}--${options.themeClass}`,
constrained: `${prefix}--is-constrained`,
detachedContainer: `${prefix}--detached-container`,
content: `${prefix}-content`,
arrow: `${prefix}-arrow`,
isVisible: `${prefix}--is-visible`,
isOpen: `${prefix}--is-open`,
},
});
};

export {
oneEvent,
addClass,
Expand All @@ -123,4 +143,5 @@ export {
getWindowOrigin,
whichTransitionEvent,
toggleClassesOnElement,
generateOptionClassnames,
};
Loading

0 comments on commit 4f9215c

Please sign in to comment.