DIR : /home/kozerus/public_html/pn/uize/site-source/js/Uize/Services/Setup.js
/home/kozerus/public_html/pn/uize/site-source/js/Uize/Services
/*______________
| ______ | U I Z E J A V A S C R I P T F R A M E W O R K
| / / | ---------------------------------------------------
| / O / | MODULE : Uize.Services.Setup Package
| / / / |
| / / / /| | ONLINE : http://www.uize.com
| /____/ /__/_| | COPYRIGHT : (c)2012-2016 UIZE
| /___ | LICENSE : Available under MIT License or GNU General Public License
|_______________| http://www.uize.com/license.html
*/
/* Module Meta Data
type: Package
importance: 5
codeCompleteness: 0
docCompleteness: 5
*/
/*?
Introduction
The =Uize.Services.Setup= package....
*DEVELOPERS:* `Chris van Rensburg`
*/
Uize.module ({
name:'Uize.Services.Setup',
required:[
'Uize.Util.Needs',
'Uize.Data.Matches'
],
builder:function () {
'use strict';
/*** General Variables ***/
var
_serviceProvisioning = Uize.Util.Needs (),
_serviceSetupProvided = {},
_trueFlag = {},
_uizeRequire
;
/*** Utility Functions ***/
function _moduleHasServiceSetup (_module) {
return _serviceSetupProvided [_module] == _trueFlag;
}
return Uize.package ({
provideServiceSetup:function (_serviceModuleName,_serviceAdapterModuleName,_serviceSetup) {
/*** override Uize.require in order to inject service setup ***/
if (!_uizeRequire) {
_uizeRequire = Uize.require;
Uize.require = function (_modules,_callback) {
if (typeof _modules == 'string')
_modules = [_modules]
;
_uizeRequire (
_modules,
function () {
var _uizeRequireCallbackArgs = arguments;
_serviceProvisioning.need (
Uize.Data.Matches.values (_modules,_moduleHasServiceSetup),
function () {_callback && _callback.apply (0,_uizeRequireCallbackArgs)}
);
}
);
};
};
_serviceSetupProvided [_serviceModuleName] = _trueFlag;
_serviceProvisioning.provide (
_serviceModuleName,
function (_provide) {
_uizeRequire (
[_serviceModuleName,_serviceAdapterModuleName],
function (_serviceModule,_serviceAdapterModule) {
var _service = _serviceModule.singleton ();
_service.set ('adapter',_serviceAdapterModule.singleton ());
function _provideService () {_provide (_service)}
_serviceSetup
? _serviceSetup (_service,_provideService)
: _service.init ({},_provideService)
;
}
);
}
);
}
});
}
});
//
koh5_pano
Drag mouse to navigate.
Navigation
- Left/Right Mouse drag: Changes camera heading.
- Up/Sown Mouse drag: Changes camera pitch.
- Scroll wheel: Changes camera field of view.
- I-Key: Displays Info panel with canvas size, image size and FPS.
17.Aug.2010, Martin Wengenmayer