mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-15 19:52:01 +03:00
6658675646
closes #2957 - add FastClick library to Gruntfile.js - add touch-editor to client/assets/lib/ - add mobile-specific utils to util/mobile-utils.js - add codemirror util to set up TouchEditor only if we're really on mobile - change gh-codemirror from having a default action to a named action. prevents Ember.TextArea firing action on change - change gh-codemirror `cm.getDoc().getValue()` to `cm.getValue()` for portability - change codemirror-shortcuts ES6 export/import style - changed ghostimagepreview.js to check for Ember.touchEditor in addition to Ghost.touchEditor
49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
/*global DocumentTouch,FastClick*/
|
|
var hasTouchScreen,
|
|
smallScreen,
|
|
initFastClick,
|
|
responsiveAction;
|
|
|
|
// Taken from "Responsive design & the Guardian" with thanks to Matt Andrews
|
|
// Added !window._phantom so that the functional tests run as though this is not a touch screen.
|
|
// In future we can do something more advanced here for testing both touch and non touch
|
|
hasTouchScreen = function () {
|
|
return !window._phantom &&
|
|
(
|
|
('ontouchstart' in window) ||
|
|
(window.DocumentTouch && document instanceof DocumentTouch)
|
|
);
|
|
};
|
|
|
|
smallScreen = function () {
|
|
if (window.matchMedia('(max-width: 1000px)').matches) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
};
|
|
|
|
initFastClick = function () {
|
|
Ember.run.scheduleOnce('afterRender', null, function () {
|
|
FastClick.attach(document.body);
|
|
});
|
|
};
|
|
|
|
responsiveAction = function responsiveAction(event, mediaCondition, cb) {
|
|
if (!window.matchMedia(mediaCondition).matches) {
|
|
return;
|
|
}
|
|
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
cb();
|
|
};
|
|
|
|
export { hasTouchScreen, smallScreen };
|
|
export default {
|
|
hasTouchScreen: hasTouchScreen,
|
|
smallScreen: smallScreen,
|
|
initFastClick: initFastClick,
|
|
responsiveAction: responsiveAction
|
|
};
|