- SPA_ARTICLE_CODE.zip
- SPA_ARTICLE_CODE
- ChainOfPluginsCompositionSample
- ComplexProductNavigationTest
- CompositionAndNavigationSample
- HierarchicalSPAWithNavigation
- ParameterizedPluginSample
- ParamNavigationTest
- SilverlightPluginSample
- SimpleCompositionSample
- SimpleProductNavigationTest
- SPA_POSTingObjectToServer
- SPAComplexObjectGetter
- SPAServerStringCommunications
- TwoPageOrdinaryHTMLApp
- TwoPageSPA
- TwoPageSPAWithNavigation
- TwoPageSPAWithTabs
- BPF.zip
- BPF
|
// BPF JavaScript library version 0.9
// (c) Nick Polyak 2012 - http://awebpros.com/
// License: Code Project Open License (CPOL) 1.92(http://www.codeproject.com/info/cpol10.aspx)
//
// short overview of copyright rules:
// 1. you can use this framework in any commercial or non-commercial
// product as long as you retain this copyright message
// 2. Do not blame the author(s) of this software if something goes wrong.
//
// Also as a courtesy, please, mention this software in any documentation for the
// products that use it.
/// <reference path="jquery-1.8.2.js" />
/// <reference path="ArrayExtensions.js" />
/// <reference path="SimpleEvent.js" />
/// <reference path="HashStrings.js" />
/// <reference path="NavigationNode.js" />
var bpf = bpf || {};
bpf.nav = bpf.nav || {};
bpf.nav.JQTabsNavAdaptor = function (tabsObj) {
var self = this;
var getSelectedHash = function () {
var selectedHash = bpf.utils.stripFirstPound(tabsObj.find('.ui-tabs-active a').attr("href"));
return selectedHash;
}
// event fired when a tab changes
self.onSelectionChanged = new SimpleEvent();
// fires self.onSelectionChanged event when the tab selection changes
tabsObj.bind("tabsselect", function (event, ui) {
var tObj = tabsObj[0];
if (event.target !== tObj)
return;
self.selectedKey = bpf.utils.stripFirstPound(ui.tab.hash);
fireSelectedHashChanged();
});
var fireSelectedHashChanged = function () {
self.onSelectionChanged.fire(self, self.selectedKey);
};
// returns the key corresponding to the currently selected tab
self.getSelectedKey = function () {
if (self.selectedKey)
return self.selectedKey;
var selectedKey = getSelectedHash();
return selectedKey;
};
// selects the tab corresponding to the passed key
self.select = function (key) {
tabsObj.tabs("select", key);
};
// Interface unselect method implementation
// (in case of tabs, it does nothing since tabs cannot be unselected - one tab should always be selected)
self.unselect = function () {
};
};
bpf.nav.getJQTabsNode = function (tabsObj) {
var adaptedData = new bpf.nav.JQTabsNavAdaptor(tabsObj);
return new bpf.nav.Node(adaptedData);
};
bpf.nav.addJQTabsChild = function (parentNode, key, tabsObj) {
var adaptedChild = new bpf.nav.JQTabsNavAdaptor(tabsObj);
return parentNode.addAdaptedChild(key, adaptedChild);
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I am a software architect and a developer with great passion for new engineering solutions and finding and applying design patterns.
I am passionate about learning new ways of building software and sharing my knowledge with others.
I worked with many various languages including C#, Java and C++.
I fell in love with WPF (and later Silverlight) at first sight. After Microsoft killed Silverlight, I was distraught until I found Avalonia - a great multiplatform package for building UI on Windows, Linux, Mac as well as within browsers (using WASM) and for mobile platforms.
I have my Ph.D. from RPI.
here is my linkedin profile