Skip to content

Instantly share code, notes, and snippets.

@precyx
precyx / CustomDialog.tsx
Last active January 23, 2020 08:46
# Custom Dialog in SPFx **Files** - CustomDialog.tsx
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { DialogContent } from 'office-ui-fabric-react';
import { BaseDialog, IDialogConfiguration } from '@microsoft/sp-dialog';
import { BaseComponentContext } from '@microsoft/sp-component-base';
export default class CustomDialog extends BaseDialog {
public context: BaseComponentContext;
public render(): void {
@precyx
precyx / webpartTypes.md
Last active December 31, 2019 10:11
Overview of Webpart types and terminilogy

Terminology

Solution

  • Contains a package of one or multiple: webparts libraries applicationCustomizers commandSets fieldCustomizers

Webpart

  • Components, that can be added to any site

Library

  • Enables code sharing inside of a Solution
@precyx
precyx / SearchService.ts
Last active January 16, 2020 09:07
Search API in Sharepoint: **files:** - SearchService.ts
import { SPHttpClient } from "@pnp/sp";
import { IWebPartContext } from "@microsoft/sp-webpart-base";
import { UrlHelper } from "../helpers/UrlHelper";
export interface SearchParams {
querytext: string;
rowlimit?: number;
trimduplicates?: boolean;
}
@precyx
precyx / datepicker.tsx
Last active January 6, 2020 07:54
# Forms SPFx React **files** - pnp_taxonomy_picker.tsx - textfield.tsx - pnp_peoplepicker.tsx - datepicker.tsx
import { DatePicker } from "office-ui-fabric-react/lib/DatePicker";
<div className={styles.row}>
<DatePicker
label="Freigabe am"
isRequired={true}
strings={{
...DayPickerStrings,
isRequiredErrorMessage: formErrors.publishOn,
@precyx
precyx / express_mongodb_setup.js
Last active December 28, 2019 22:15
# MongoDB setup, Rest API with Express **Files** - express_mongodb_setup.js - route_fruits.js - fruit_model.js
const express = require("express");
const cors = require("cors");
const mongoose = require("mongoose");
require("dotenv").config();
const app = express();
const port = process.env.PORT || 5200;
// express middleware
@precyx
precyx / typings.ts
Last active December 27, 2019 10:21
// Function
let fn:() => number = function(){}

Quick Commands

CTRL + SHIFT + P

Open Settings

CTRL + ,

Search Files

CTRL + SHIFT + F

@precyx
precyx / httpGet.js
Created December 24, 2019 12:13
# HTTP Request **file overview:** - httpGet.js
/**
* http get request with success and fail callback
* handles xml and json data
*/
function httpGet(url, onSuccess, onFail){
var request = new XMLHttpRequest();
request.open('GET', url, true);
//request.setRequestHeader('Accept', 'application/json;odata=nometadata');
//request.setRequestHeader('Content-Type', 'application/json;odata=nometadata');
@precyx
precyx / parseXMLValue.js
Created December 24, 2019 08:10
# Parse XML Value
function parseXMLValue(xmlString, nodeName){
var parser, xmlDoc;
var _xmlString = xmlString || "";
var _nodeName = nodeName || "";
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(_xmlString,"text/xml");
} else {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
@precyx
precyx / getMinorVersion.js
Last active December 24, 2019 07:31
# Get Document Minor Version **Files:** - getMinorVersion.js Example is from a display template context, using sharepoint's **_vti_history** API.
/**
* Display Template managed properties
**/
var webAbsoluteUrl = _spPageContextInfo.webAbsoluteUrl || "";
var path = ctx.CurrentItem.Path || "";
var fileName = calcFilename(path);
var majorVersion = ctx.CurrentItem.UIVersionStringOWSTEXT || "";
var id = ctx.ClientControl.get_nextUniqueId();
var linkId = id + "link_id";