からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

JavaScript

SharePoint Framework (SPFx) から Office 365 API を叩いてみる

SharePoint Framework (SPFx) の Web パーツでは新しいエクスペリエンスが採用され、これまでの SharePoint アドインで使用されていた iframe が廃止されました。SharePoint アドインでは OAuth2 の暗黙的な許可フローでうまいこと iframe 内でリダイレクト…

SharePoint 2013 で JavaScript からユーザー選択ウィンドウ (PeoplePicker) を呼び出す

<SharePoint:PeopleEditor> を使わずに JavaScript だけでダイアログを表示してユーザー選択をさせるサンプルです。github.comやっていることは割と簡単で /_layouts/15/Picker.aspx を SP.UI.ModalDialog.showModalDialog で呼び出すだけです。戻り値として XML が返ってくるので中身</sharepoint:peopleeditor>…

JSOM の executeQueryAsync で使われている Function.createDelegate について

JSOM のサンプルを見ると当たり前のように使われている Function.createDelegate について。引数に this を渡しているのでだいたい想像が付くとは思いますが、JavaScript の this の面倒なアレを解決してくれるんですね。 <asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server"> <script type="text/javascript"> var obj = { web: null, retrieve</asp:content>…

SharePoint Online で SharePoint じゃないページを作る

この記事は「Office 365 Advent Calendar 2016」の参加記事です。www.adventar.orgSharePoint は標準でもそこそこそれなりに使えるのですが、やはりデザインをカスタマイズしたいという要望は多いです。でも SharePoint のスタイル シート構造を理解してカス…

SharePoint 2013 のお知らせリストで「続きを読む」を実装する

「こういうの欲しいよね?」ということでサクッと JSLink を使って実装してしまいます。 (function() { var overrideCtx = {}; overrideCtx.ListTemplateType = 104; overrideCtx.BaseID = 100; overrideCtx.Templates = {}; overrideCtx.Templates.Fields =…

SharePoint Online から Dynamics 365 の Web API を実行する

SharePoint ホスト型アドインを使用して SharePoint Online から Dynamics 365 の Web API を実行します。これまでは SharePoint Online から Dynamics 365 に接続するにはプロキシ サーバー経由で実行する方法しかなかったのですが、Dynamics CRM 2016 から…

knockout.js の observableArray でクライアントサイド検証を有効にする

ko.observableArray でバインドしたフォーム要素にバリデーションをかけようと思ったのですが、普通にやっただけではうまく動いてくれないようです。knockout.js のプラグインで Knockout Validation というのもあるようなのですが、 そもそも ko.observable…

knockout.js でページの再読み込みに対応する

前回の記事の続きです。blog.karamem0.jp前回の状態だと、ページを再読み込みすると、検索結果がすべて消えて初期状態に戻ってしまうという問題点がありました。それではやはり使い勝手が悪いので、対応を考えてみたいと思います。 簡単に言ってしまうと、デ…

knockout.js を使って検索をしてみる

前の記事とだいぶ時間が空いてしまいましたが、引き続き knockout.js を弄ってみます。blog.karamem0.jp今回は検索をしてみたいと思います。 サンプル コード Models/Person.cs 簡単な Model を作成します。 public class Person { public string Id { get; …

knockout.js を使ってページングを実装してみる

knockout.js がいい感じに便利で楽しいので、いろいろ試してみました。今回はページングを実装してみます。 サンプル コード Shared/_Layout.cshtml knockout.js を呼んでおくのを忘れずに。knockout.js は NuGet で入手できます。 <html> <head> <title>@ViewBag.Title</title> <script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script> </head></html>