- Timestamp:
- 01/26/12 19:46:52 (4 months ago)
- Location:
- trunk
- Files:
-
- 6 edited
-
inc/classes/BxDolTemplate.php (modified) (1 diff)
-
inc/js/jquery.dolPopup.js (modified) (5 diffs)
-
samples/popup.php (modified) (1 diff)
-
studio/classes/BxDolStudioTemplate.php (modified) (1 diff)
-
studio/templates/base/scripts/BxBaseStudioFunctions.php (modified) (1 diff)
-
templates/base/scripts/BxBaseFunctions.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/inc/classes/BxDolTemplate.php
r15897 r15931 312 312 'functions.js', 313 313 'jquery.dolPopup.js', 314 'jquery.ui.position.min.js', 314 315 )); 315 316 -
trunk/inc/js/jquery.dolPopup.js
r15922 r15931 12 12 closeOnOuterClick: true, 13 13 closeElement: '.bx-popup-element-close', // link to element which will close popup 14 position: 'centered', // | ' centered-absolute' | 'absolute' | 'fixed' | event | element,14 position: 'centered', // | 'absolute' | 'fixed' | event | element, 15 15 fog: {color: '#fff', opacity: .7}, // {color, opacity}, 16 16 pointer: false, // {el:(string_id|jquery_object), align: (left|right|center)}, … … 52 52 } 53 53 54 $(window).on('resize.popupFog', function () { 55 $('#bx-popup-fog').css({ 56 width: $(window).width(), 57 height: $(window).height() 58 }); 59 }); 60 54 61 return this.each(function() { 55 62 var $el = $(this); … … 136 143 return false; 137 144 145 $(window).off('resize.popupWindow'); 146 $(window).off('resize.popupPointer'); 147 $(window).off('resize.popupFog'); 148 138 149 o.onBeforeHide(); 139 150 … … 182 193 }); 183 194 195 $(window).on('resize.popupPointer', function() { 196 $el.position({ 197 of: ePointAt, 198 my: o.pointer.align + ' top', 199 at: o.pointer.align + ' bottom', 200 collision: 'flip none', 201 offset: parseInt(aOffset[0]) + ' ' + parseInt(aOffset[1]) 202 }); 203 }); 204 184 205 } else if (o.position == 'fixed' || o.position == 'absolute') { 206 185 207 $el.css({ 186 208 position: o.position, … … 188 210 top: o.top 189 211 }); 212 190 213 } else if (o.position == 'centered') { 191 $el.setToCenter(); 192 193 // attach window resize event 194 $(window).resize(function() { 195 $el.setToCenter(); 196 }); 197 } else if (o.position == 'centered-absolute') { 198 $el.setToCenter('absolute'); 199 200 // attach window resize event 201 $(window).resize(function() { 202 $el.setToCenter('absolute'); 203 }); 214 215 $el.position({ 216 of: window, 217 my: 'center center', 218 at: 'center center', 219 collision: 'none none' 220 }); 221 222 // attach window resize event 223 $(window).on('resize.popupWindow', function() { 224 $el.position({ 225 of: window, 226 my: 'center center', 227 at: 'center center', 228 collision: 'none none' 229 }); 230 }); 231 204 232 } else if (typeof o.position == 'object') { 205 if ( o.position.originalEvent && Event.prototype.isPrototypeOf(o.position.originalEvent) ) { 206 // event 207 var e = o.position.originalEvent ? o.position : $.event.fix(o.position); 208 var pos = getPositionData($el[0], e); 209 210 $el.css({ 211 position: 'absolute', 212 left: pos.posX, 213 top: pos.posY 214 }); 215 } else { 216 var $p = $(o.position); 217 //if ( $p.length && Node.prototype.isPrototypeOf($p[0]) ) { 218 if ($p.length) { 219 // DOM Node 220 221 var pos = getCorrectedPosition($el, $p); 222 $el.css({ 223 position: 'absolute', 224 left: pos.left, 225 top: pos.top 226 }); 227 } 228 } 233 234 $el.position({ 235 of: o.position, 236 my: 'center top', 237 at: 'center bottom', 238 collision: 'flip flip' 239 }); 240 229 241 } 230 231 242 }); 232 243 }; 233 244 234 $.fn.setToCenter = function(position) {235 return this.each(function() {236 var $el = $(this);237 238 var iTop = 0;239 var iLeft = 0;240 if(!$.browser.opera) {241 iTop = ($(window).height() - $el.height()) / 2;242 iLeft = ($(window).width() - $el.width()) / 2;243 }244 else {245 iTop = (parseInt(window.innerHeight) - $el.height()) / 2;246 iLeft = ($(window).width() - $el.width()) / 2;247 }248 249 iLeft = (iLeft > 0) ? iLeft : 0;250 iTop = (iTop > 0) ? iTop : 0;251 252 $el.css({253 position: position || 'fixed',254 left: iLeft,255 top: iTop256 });257 });258 };259 260 245 })(jQuery); 261 246 262 function getCorrectedPosition(el, p) {263 var $el = $(el); // positioned element264 var $p = $(p); // positioning element265 266 var pos = $p.offset();267 var elSize = {268 width: $el.width(),269 height: $el.height()270 };271 272 var elWinPos = {273 left: pos.left - $(window).scrollLeft(),274 top: pos.top - $(window).scrollTop()275 };276 var winSize = {277 width: $(window).width(),278 height: $(window).height() - 30279 };280 281 282 if ((elWinPos.left + elSize.width) > winSize.width)283 pos.left = pos.left - elSize.width + $p.width();284 285 if ((elWinPos.top + elSize.height) > winSize.height)286 pos.top = pos.top - elSize.height + $p.height();287 288 return pos;289 } -
trunk/samples/popup.php
r15922 r15931 30 30 $oTemplate->setPageHeader ("Sample popup"); 31 31 $oTemplate->setPageContent ('page_main_code', PageCompMainCode()); 32 $oTemplate->addJs('jquery.dolPopup.js');33 $oTemplate->addJs('jquery.ui.position.min.js');34 32 $oTemplate->getPageCode(); 35 33 -
trunk/studio/classes/BxDolStudioTemplate.php
r15739 r15931 69 69 $this->addJs(array( 70 70 'jquery.js', 71 'jquery.dolPopup.js' 71 'jquery.dolPopup.js', 72 'jquery.ui.position.min.js', 72 73 )); 73 74 } -
trunk/studio/templates/base/scripts/BxBaseStudioFunctions.php
r15791 r15931 104 104 $oTemplate->setPageParams(array( 105 105 'css_name' => array('forms.css', 'login.css'), 106 'js_name' => array('jquery.form.js', 'jquery.dolPopup.js', ' login.js'),106 'js_name' => array('jquery.form.js', 'jquery.dolPopup.js', 'jquery.ui.position.min.js', 'login.js'), 107 107 'header' => _t('_adm_page_cpt_login'), 108 108 )); -
trunk/templates/base/scripts/BxBaseFunctions.php
r15925 r15931 713 713 714 714 if ($sMenu) { 715 716 $this->_oTemplate->addJs('jquery.dolPopup.js');717 $this->_oTemplate->addJs('jquery.ui.position.min.js');718 719 715 $sId = 'bx-menu-db-' . time() . rand(0, PHP_INT_MAX); 720 716 $sCode .= '<div id="' . $sId . '" style="display:none;">' . BxTemplFunctions::getInstance()->transBox('<div class="bx-def-padding bx-def-color-bg-block">' . $sMenu . '</div>') . '</div>';
Note: See TracChangeset
for help on using the changeset viewer.