This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //comments in blogpost | |
| myoptions.events = [] | |
| myoptions.animation = { | |
| duration: 0, | |
| onComplete: function () { | |
| let chartInstance = this.chart | |
| let ctx = chartInstance.chart.ctx | |
| ctx.textAlign = 'center' | |
| function formatLabel(value) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // this simply generates helper html wrappers | |
| // whatever tags you want helpers for can be listed in the htmlhelpers array | |
| const htmlhelpers = ['h4','table','thead','tbody','tr','td','th','div']; | |
| // this function generates other functions based on the tag that is passed into it | |
| // also any extra attributes or other properties can be added as an argument | |
| const tagwrapper = (tag,txt,att='')=>`<${tag}${att.length===0?'':' ' + att}>${txt}</${tag}>`; | |
| // loop through the tags we want wrapper functions for, and generate eval statements | |
| for(const s of htmlhelpers){eval(`var ${s} = (txt,att='')=>tagwrapper('${s}',txt,att);`)} | |
| // the output of this will be functions that allow you to write something like: | |
| // h4('hello world') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # this is actually just output from running in powershell, | |
| # but I'll just add my comments in here along with the output | |
| ## First of all, I am going to set an alias to the compiled exe | |
| └[C:\git\h]> set-alias h "C:\git\h\bin\Release\netcoreapp3.1\win-x64\h.exe" | |
| ## Generate a users file, I'm using a tab here because if you | |
| ## select this from a database query window, it'll be tab seperated | |
| ## `t is a tab character in powershell | |
| ## This first line puts a header row in there |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function Copy-File-SPO( | |
| $user, #username | |
| $pass, #password | |
| $site, #sp site url | |
| $list, #sp list name | |
| $dest, #dest path in list | |
| $path #path for gci | |
| ){ | |
| # check for and load dependency dlls |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # in the example,they use numbers for the keys, but state they can be other things. | |
| # i just left them as numbers to match their setup. i'm guessing you could use | |
| # (new-guid).guid instead and avoid the ln var all together if that's your thing. | |
| # note that i am not using the 'count' value from up above for this as it's not needed | |
| # i just wanted that to look at when i was originally examining the $agentinfo results | |
| # i usually don't end powershell lines in semicolons, but i actually ran this as a | |
| # oneliner and spread it out here for readability. | |
| $ln=1; | |
| $hash=[ordered]@{}; | |
| $agentinfo | %{ $hash.add("$ln",$_.Name);$ln++}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* don't lock, be deadlock victim if needed */ | |
| set transaction isolation level read uncommitted | |
| set deadlock_priority -10 | |
| /* generate sales data */ | |
| declare @SalesByDay as table ( | |
| [SalesDate] datetime not null primary key | |
| , [TotalSales] decimal(19,2) not null | |
| ) | |
| declare @mindate date = '20200101', @maxdate date = '20200630' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // I switched a basic bootstrap template site over to using bootswatch, | |
| // but I wanted to swap the themes on it so i could see some of the colors and | |
| // font sizes as i still had some items from the old theme in there. | |
| // There are probably lots of ways to do this, but this is how I did it | |
| // Go to https://www.bootstrapcdn.com/bootswatch and then you can run this on the | |
| // page with all of the cdn links to copy and use with hashes, etc | |
| //var vals = [...document.querySelectorAll('input[id*="html_"]')].map(x => [x.id.replace('html_', ''), x.value]).reduce( | |
| // (acc, val) => (acc[val[0]] = val[1], acc), {} | |
| //); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //some utility functions. | |
| const tagwrapper = (tag,txt,att='') => `<${tag}${att.length===0?'':' ' + att}>${txt}</${tag}>`; | |
| const htmlhelpers = ['h4','table','thead','tbody','tr','td','th','div']; //etc | |
| for(const s of htmlhelpers){eval(`var ${s} = (txt,att='')=>tagwrapper('${s}',txt,att);`)} | |
| const groupByArr = (x, key) => x.reduce((rv, x)=> { (rv[x[key]] = rv[x[key]] || []).push(x); return rv; }, []); | |
| const groupByObj = (x, key) => x.reduce((rv, x)=> { (rv[x[key]] = rv[x[key]] || []).push(x); return rv; }, {}); | |
| const setElementHTML = (id,html) => { | |
| const ctx = $(id) | |
| ctx.empty(); | |
| ctx.html(html) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function l($t){ | |
| "{0}`t-`t{1}" -f (Get-Date), $t | |
| } | |
| function bcpCsv($f,$t,$b,$cs) | |
| { | |
| l "Importing file $f to table $t using batchsize $b and connection $cs" | |
| l "creating datatable using target table schema" | |
| $dt = (getData "select top 0 * from $t" $cs) | |
| $cols = $dt.columns.columnname |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # references: | |
| # https://community.spiceworks.com/topic/380201-using-powershell-to-check-for-new-files-in-a-directory | |
| # https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/register-objectevent | |
| # https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher | |
| # you can change $p to whatever path you want, you can also add file filters, and add more events | |
| # i am monitoring a folder for all create/delete events and color coding output | |
| $p = $pwd.path | |
| $w = New-Object System.IO.FileSystemWatcher $p | |
| $w.IncludeSubdirectories = $true |