Для выполнения примера в теге HEAD *.html-страницы подключите ссылки на следующие *.js и *.css-файлы:
PP.js;
PP.css;
PP.Metabase.js;
PP.Metabase.css;
PP.Navigator.js;
PP.Navigator.css.
В теге BODY добавьте следующий код:
<body onload="onLoad();" style ="height:600px"> </body>
В теге SCRIPT добавьте скрипт для создания компонента:
<script type="text/javascript"> var searchDialog, mb, waiter; function onLoad() { waiter = new PP.Ui.Waiter(); PP.resourceManager.setRootResourcesFolder("resources/"); PP.resourceManager.setResourceList(['PP', 'Metabase']); mb = new PP.Mb.Metabase({ PPServiceUrl: "PPService.axd?action=proxy", Id: "PrognozPlatform7_systest", UserCreds: { UserName: "sa", Password: "Qwerty1" }, EndRequest: function () { waiter.hide(); }, Opened: function () { // После открытия репозитория загружаем ресурсы и после их загрузки отображаем диалог PP.setCurrentCulture(PP.Cultures.ru); PP.resourceManager.ResourcesLoaded.add(onResLoaded, this); waiter.hide(); }, StartRequest: function () { waiter.show(); }, Error: function (sender, args) { waiter.hide(); alert(args.ResponseText); } }); mb.open(); } function onResLoaded(sender, arg) { searchDialog = new PP.Ui.SearchDialog({ ImagePath: "build/img/", ObjectClassId: 2562, //Тип искомых объектов - регламентный отчет ShowDetails: true, // Развернуты параметры поиска Metabase: mb, }); searchDialog.FindAll.add(PP.Delegate(onFindAll), this) searchDialog.Find.add(PP.Delegate(onFind), this) searchDialog.show(); }; //При нажатии на кнопку «Найти все» function onFindAll(sender, args) { //Массив найденных объектов var objs = args.Objects; //Выводим свойства найденных объектов в консоль браузера for (var i = 0, len = objs.length; i & lt len; i++) { console.log("Object #" + (i + 1)); for (var p in objs[i]) { console.log(" " + p + " : " + objs[i][p]); } } }; //При нажатии на кнопку «Найти все» function onFind(sender, args) { // Выводим в консоль все полученные свойства найденного объекта console.log("Object #" + args.Index) for (var p in args.Object) { console.log(" " + p + " : " + args.Object[p]); } }; </script>
После выполнения примера на странице будет размещен компонент SearchDialog, имеющий следующий вид:
Введите в строку поиска текст, по которому нужно найти объекты репозитория. При нажатии на кнопку «Найти» в консоль будет выведены название, порядковый номер и свойства найденного объекта. При нажатии на кнопку «Найти все» в консоль будут выведены названия, порядковые номера и свойства найденных объектов. Например:
Object #0
@ts : 2011-07-19T15:43:23.000
@isShortcut : false
@isLink : false
@hf : false
i : OBJ3557
n : World Indicators
k : 3557
c : 0
p : 4294967295
h : false
См. также: